Dot-Net

用於新 HTML5 輸入類型的 ASP.NET MVC HTML 幫助器方法

  • August 31, 2010

HTML5 似乎支持一系列新的輸入欄位例如

  • 數字
  • 電子郵件地址
  • 顏色
  • 網址
  • 數值範圍(通過滑塊)
  • 日期
  • 搜尋框

HtmlHelper有沒有人為生成這些的 ASP.NET MVC實現了擴展方法?可以使用接受的重載來做到這一點htmlAttributes,例如:

Html.TextBoxFor(model => model.Foo, new { type="number", min="0", max="100" })

但這並不像以下那樣好(或類型安全):

Html.NumericInputFor(model => model.Foo, min:0, max:100)

DataType只是提醒一下,其中許多現在通過使用該屬性被合併到 MVC4 中。

這個工作項開始,您可以使用:

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; }
}

引用自:https://stackoverflow.com/questions/3613060