【问题标题】:How to use a ShortDate string format with Html.TextBoxFor如何在 Html.TextBoxFor 中使用 ShortDate 字符串格式
【发布时间】:2011-04-15 02:05:30
【问题描述】:

使用带有 MVC2 的实体框架,我有一系列日期文本框,我想以短日期格式显示模型中的数据,但我必须使用 Html.TextBoxFor 才能使更新代码工作(有尝试使用 HTML.Textbox 数据永远不会保存到模型中)。

<%: Html.TextBoxFor(model => model.Item.Date, String.Format("{0:d}", Model.Item.Date))%>

我已经尝试操作字符串格式表达式,并将元数据添加到映射到实体框架模型类的部分类中,但是我仍然在表单渲染时得到以下填充我的文本框:

01/01/2011 00:00:00 

而不是

01/01/2011

【问题讨论】:

    标签: c# asp.net asp.net-mvc entity-framework asp.net-mvc-2


    【解决方案1】:
    <%: Html.EditorFor(model => model.Item.Date) %>
    

    在您的视图模型上:

    [DataType(DataType.Time)]  
    [DisplayFormatAttribute(ApplyFormatInEditMode = true, DataFormatString = "{0:d}")]
    public DateTime Date { get; set; }
    

    更新:

    完整示例:

    型号:

    public class MyModel
    {
        public Item Item { get; set; }
    }
    
    public class Item
    {
        [DataType(DataType.Time)]
        [DisplayFormatAttribute(ApplyFormatInEditMode = true, DataFormatString = "{0:d}")]
        public DateTime Date { get; set; }
    }
    

    控制器:

    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            return View(new MyModel
            {
                Item = new Item { Date = DateTime.Now }
            });
        }
    }
    

    查看:

    <%: Html.EditorFor(model => model.Item.Date) %>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-09-20
      • 1970-01-01
      • 1970-01-01
      • 2018-04-30
      • 1970-01-01
      • 2023-03-23
      • 2021-07-28
      相关资源
      最近更新 更多