我有一个MVC 4网站,我希望在几个输入框上有type="email"
。现在,通常我只会:
@Html.EditorFor(m => m.Email, new { @type = "email" })
但是,由于某些奇怪的原因,该类型将呈现为文本。
现在,在我的viewmodel中我有:
[Required(ErrorMessageResourceType = typeof(Global), ErrorMessageResourceName = "ViewModel_input_required")]
[DataType(DataType.EmailAddress)]
[EmailAddress(ErrorMessageResourceType = typeof(Global), ErrorMessageResourceName = "ViewModel_Account_display_email_not_valid", ErrorMessage = null)]
[Display(ResourceType = typeof (Global), Name = "ViewModel_Account_display_email")]
[PlaceHolder(ResourceType = typeof(Global), Name = "ViewModel_Account_display_email")]
public string Email { get; set; }
如果我理解正确的话,应该给它输入电子邮件。
但是,它仍然是文字类型。
关于如何修复它的任何想法?
答案 0 :(得分:1)
要在MVC 4中添加html属性,您需要使用TextBoxFor()
@Html.TextBoxFor(m => m.Email, new { @type = "email" })
请注意,在MVC 5中,您可以使用
@Html.EditorFor(m => m.Email, new { htmlAttributes = new { @type = "email" } })