Estoy usando ASP.NET MVC 3 TextBoxFor en un formulario y me gustaría usar type=”email” para una entrada más fácil para al menos algunos dispositivos móviles, pero no puedo encontrar cómo configurarlo usando TextBoxFor. ¿No es esto fácilmente posible?
En vista
@Html.LabelFor(m => m.Email)
@Html.TextBoxFor(m => m.Email)
en modelo
[StringLength(50)]
public string Email { get; set; }
(Ya está usando una anotación de datos para proteger la restricción de tamaño en la base de datos)
Tratar de usar
@Html.TextBoxFor(m => m.Email, new { @type = "email" })
http://msdn.microsoft.com/en-us/library/ee703538.aspx (atributos html)
-
No sé por qué descarté esto y no lo intenté. Gracias.
– d456
4 de septiembre de 2012 a las 16:06
A una
Lo estás usando de la manera incorrecta.
Utilice EditorFor en Vista:
@Html.LabelFor(m => m.Email)
@Html.EditorFor(m => m.Email)
En el modelo, agregue el [DataType( DataType.EmailAddress )]
Propiedad de anotaciones de datos:
[DataType( DataType.EmailAddress )]
public string Email { get; set; }
Intenta agregar [DataType( DataType.EmailAddress )]
a la propiedad de correo electrónico.
[DataType( DataType.EmailAddress )]
[StringLength(50)]
public string Email { get; set; }
arnoldrob
[StringLength(50)]
[DataType(DataType.EmailAddress, ErrorMessage = "Invalid Email Address")]
public string EmailAddress { get; set; }
Intenta agregar esto. creo que funciona
posible duplicado de la etiqueta MVC HTML5 EMAIL
– András Zoltan
4 sep 2012 a las 15:55
Pregunté por separado porque no me importaba la validación de correo electrónico en la que entra la respuesta a esa pregunta mientras miraba cuál era mi problema raíz de obtener una entrada de tipo correo electrónico.
– d456
04/09/2012 a las 18:00