lunes, 25 de junio de 2012
El cartel oficial del evento es el siguiente:
SHAREPOINT PARA APLICACIONES EN ASP.NET DESDE CERO
Ponente
Edin Kapic que es Key Consultant en Pasiona consulting, con más de 6 años de experiencia en Sharepoint, ponente en la European Sharepoint Conference de Berlín y miembro de Grupo de Usuarios de SharePoint de Cataluña – SUG.CAT.
Os recuerdo que se trata de un Webcast, o sea, que podéis asistir a este evento desde vuestro sillón favorito, acompañados de una buena cerveza y un saco de palomitas. Y por supuesto, es totalmente gratuito.
Lo único que debéis hacer para poder asistir es registraros:
- Día: miércoles 27 de junio de 2012, 19:00h (hora peninsular española)
- URL del registro: https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032514556&Culture=es-ES
Publicado en Variable not found.
.Net
- Node.js para programadores .NET
Sebastián Henzenn - Getting started with Lucene.NET–Searching
Ricci Gian Maria - TinyTwitter: Una micro librería para twittear desde C#
Juan María Hernández - Validar el formato de una imagen (no me mientas con el formato) con C#
Sergio Marrero (smarrerof) - The theory behind covariance and contravariance in C# 4
Tomas Petricek
miércoles, 20 de junio de 2012
Como siempre ocurre, nada es fruto del azar.
martes, 19 de junio de 2012
System.ComponentModel.DataAnnotations
:CreditCardAttribute
, que puede ser utilizado para validar números de tarjeta de crédito.EmailAddressAttribute
, que validará direcciones de correo electrónico.FileExtensionsAttribute
, para validar extensiones en nombres de archivo.PhoneAttribute
, que indica cuándo una propiedad debe contener un número de teléfono válido.UrlAttribute
, que comprobará si el contenido de una propiedad es una URL válida.CompareAttribute
, que antes estaba disponible en System.Web.Mvc y ha “ascendido” a anotación de datos general, permite validar la igualdad de dos propiedades.
También se ha incluido soporte para el atributo
MembershipPasswordAttribute
, recientemente incluido en System.Web.Security
, que comprueba si una contraseña cumple los requisitos establecidos para las mismas en el membership provider.Publicado en Variable not found.
lunes, 18 de junio de 2012
.Net
- Using Caller Info Attributes in C# 5.0 to Improve Logging
Sumit Maitra - Twiteando desde C#: Leyendo tweets
Juan María Hernández - ¿Qué es WinRT?
Jorge Serrano - .NET 4.5 Improves to the Base Class Library
Jonathan Allen - C#/.NET Little Wonders: Use Cast() and OfType() to Change Sequence Type
James Michael Hare - Twitteando desde C#: Enviar un tweet
Juan María Hernández
martes, 12 de junio de 2012
Lo más habitual es utilizarlas para crear editores o visualizadores para tipos de datos concretos, en cuyo caso las vistas disponibles en las carpetas citadas anteriormente se llaman igual que el tipo de dato a editar o visualizar.
Por ejemplo, si tenemos una vista llamada int.cshtml en la carpeta /Views/Shared/EditorTemplates , será la utilizada como editor de propiedades de tipo entero. Algo parecido utilizamos por aquí, hace ya bastante tiempo, para integrar jQuery datepicker en nuestras aplicaciones.
También es habitual encontrar en estas carpetas plantillas vinculadas a propiedades u objetos de forma directa mediante el atributo
[UIHint]
(como en este post), mediante el cual se indica explícitamente qué plantilla debe utilizarse: [DisplayName("Long description")]
[StringLength(140), Required]
[UIHint("LimitedTextArea")] // Use the template "LimitedTextArea.cshtml"
public string Description { get; set; }
Y otra alternativa, aunque quizás algo menos utilizada, es la posibilidad de indicar la plantilla a utilizar en la misma llamada al helper
EditorFor()
o DisplayFor()
que provoca su renderizado: @Html.EditorFor(m=>m.Description, "LimitedTextArea")
Sin embargo, hay una posibilidad adicional, que curiosamente no es demasiado conocida, consistente en utilizar el atributo DataTypeAttribute
para indicar la plantilla de edición o visualización a emplear para la propiedad a la que se aplica.El funcionamiento es trivial: decoramos las propiedades con
[DataType]
suministrándole como parámetro el tipo de información que va a contener, y el sistema intentará localizar una plantilla con ese nombre. Veamos un ejemplo: [DataType(DataType.EmailAddress)]
public string Email { get; set; }
[DataType(DataType.Time)]
public DateTime StartDate { get; set; }
[DataType(DataType.Html)]
public string LongDescription { get; set; }
En el momento de renderizar un editor (o un display) template para la primera propiedad, el sistema utilizará, si existe, el archivo EmailAddress.cshtml; en caso de no existir, intentará localizar un string.cshtml, y si tampoco lo encuentra generará un editor por defecto. En el segundo caso se realizará la misma operación con Time.cshtml, y el último de ellos usará la plantilla Html.cshtml como primera opción.Podemos utilizar como nombre de plantilla todos los valores que encontramos en la enumeración
DataType
:DateTime
Date
Time
Duration
PhoneNumber
Currency
Text
Html
MultilineText
EmailAddress
Password
Url
ImageUrl