26

我在表单中使用 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; }

(已经使用数据注释来保护 DB 中的大小约束)

4

4 回答 4

56

尝试使用

@Html.TextBoxFor(m => m.Email, new { @type = "email" })

http://msdn.microsoft.com/en-us/library/ee703538.aspx (htmlAttributes)

于 2012-09-04T15:57:33.517 回答
3

你用错了方法。

在视图中使用 EditorFor:

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

在模型中,添加[DataType( DataType.EmailAddress )]Data Annotations 属性:

[DataType( DataType.EmailAddress )]
public string Email { get; set; }
于 2013-12-12T06:38:49.623 回答
2

尝试添加[DataType( DataType.EmailAddress )]到电子邮件属性。

[DataType( DataType.EmailAddress )]
[StringLength(50)]
public string Email { get; set; }
于 2012-09-04T15:56:41.190 回答
1
[StringLength(50)]
[DataType(DataType.EmailAddress, ErrorMessage = "Invalid Email Address")]
public string EmailAddress { get; set; }

尝试添加这个。我认为它有效。

于 2012-09-04T15:58:52.163 回答