HTML5似乎支持
things such as的新系列
input fields:
>数字
>电子邮件地址
>颜色
>网址
>数字范围(通过滑块)
>日期
>搜索框
有没有人为ASP.NET MVC实现HtmlHelper扩展方法生成这些?可以使用接受htmlAttributes的重载来做到这一点,例如:
Html.TextBoxFor(model => model.Foo,new { type="number",min="0",max="100" })
但这不是那么好(或类型安全):
Html.NumericInputFor(model => model.Foo,min:0,max:100)
解决方法
只是一个头,其中许多现在被合并到MVC4通过使用
DataType
属性。
截至@L_502_3@,您可以使用:
public class MyModel { // Becomes <input type="number" ... > public int ID { get; set; } // Becomes <input type="url" ... > [DataType(DataType.Url)] public string WebSite { get; set; } // Becomes <input type="email" ... > [DataType(DataType.EmailAddress)] public string Email { get; set; } // Becomes <input type="tel" ... > [DataType(DataType.PhoneNumber)] public string PhoneNumber { get; set; } // Becomes <input type="datetime" ... > [DataType(DataType.DateTime)] public DateTime DateTime { get; set; } // Becomes <input type="date" ... > [DataType(DataType.Date)] public DateTime Date { get; set; } // Becomes <input type="time" ... > [DataType(DataType.Time)] public DateTime Time { get; set; } }