Можно ли установить тип ввода, созданный TextBoxFor

Я использую ASP.NET MVC 3 TextBoxFor в форме и хотел бы использовать type = "email" для упрощения ввода хотя бы некоторых мобильных устройств, но не могу найти, как установить его с помощью TextBoxFor. Нелегко ли это сделать?

В представлении

@Html.LabelFor(m => m.Email)
@Html.TextBoxFor(m => m.Email)

В модели

[StringLength(50)]
public string Email { get; set; }

(Уже использование аннотации данных для защиты ограничения размера в БД)

Ответы

Ответ 2

Вы используете это неправильно.

Используйте EditorFor in View:

@Html.LabelFor(m => m.Email)
@Html.EditorFor(m => m.Email)

В модели добавьте свойство Аннотации данных [DataType( DataType.EmailAddress )]:

[DataType( DataType.EmailAddress )]
public string Email { get; set; }

Ответ 3

Попробуйте добавить [DataType( DataType.EmailAddress )] в свойство электронной почты.

[DataType( DataType.EmailAddress )]
[StringLength(50)]
public string Email { get; set; }

Ответ 4

[StringLength(50)]
[DataType(DataType.EmailAddress, ErrorMessage = "Invalid Email Address")]
public string EmailAddress { get; set; }

Попробуйте добавить это. Я думаю, что это работает.