首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >用于新HTML5输入类型的ASP.NET MVC HTML帮助器方法

用于新HTML5输入类型的ASP.NET MVC HTML帮助器方法
EN

Stack Overflow用户
提问于 2010-09-01 04:41:53
回答 6查看 70.4K关注 0票数 51

HTML5似乎支持用于things such as的一系列新的input fields

  • Numbers
  • Email addresses
  • Colors
  • URLs
  • Numeric范围(通过slider)
  • Dates
  • Search boxes

有没有人为ASP.NET MVC实现了HtmlHelper扩展方法来生成这些扩展方法?可以使用接受htmlAttributes的重载来实现这一点,例如:

代码语言:javascript
复制
Html.TextBoxFor(model => model.Foo, new { type="number", min="0", max="100" })

但这不像以下代码那样好(或类型安全):

代码语言:javascript
复制
Html.NumericInputFor(model => model.Foo, min:0, max:100)
EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2013-05-13 22:12:12

需要注意的是,现在可以使用DataType属性将其中的许多内容合并到MVC4中。

this work item开始,您可以使用:

代码语言:javascript
复制
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; }
}
票数 54
EN

Stack Overflow用户

发布于 2010-09-01 04:50:56

票数 23
EN

Stack Overflow用户

发布于 2014-06-13 11:09:56

最简单的方法是简单地添加type=“电子邮件”作为html属性。它会覆盖默认的文本“type=”。下面是一个需要html5验证器的例子:

代码语言:javascript
复制
@Html.TextBox("txtEmail", "", new {placeholder = "email...", @type="email", @required = ""})
票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3613060

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档