【问题标题】:ASP.NET View - EditorFor adjust width [duplicate]ASP.NET View - EditorFor 调整宽度
【发布时间】:2014-06-13 23:46:57
【问题描述】:

我的视图中有以下代码:

     @Html.EditorFor(model => model.DtCollectedLead, new { style="width:100px;" })

我的 ViewModel 中有以下代码:

     [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:yyyy/MM/dd}")]
     public DateTime? DtCollectedLead { get; set; }

发生的情况是宽度没有调整到 100 像素。我知道我可以使用 TextBoxFor bu 然后 我无法利用日期字段所需的 DisplayFormat。 有没有办法调整EditorFor的宽度?

【问题讨论】:

  • 使用“TextBoxFor”而不是“EditorFor”

标签: asp.net-mvc


【解决方案1】:

您需要添加一个 EditorFor 模板并在使用 EditorFor 时引用它。

您传递的对象 (new { style="width:100px;" }) 将数据添加到可访问的 ViewData 对象中。

http://msdn.microsoft.com/en-us/library/ee407414(v=vs.118).aspx 这是您可以使用的重载。

因此您可以执行以下操作:

  @Html.EditorFor(model => model.DtCollectedLead, "CustomDateTime")

然后您将在 EditorFor 文件夹中有一个名为 CustomDateTime 的部分视图文件。您可以将部分视图的模型设置为 DateTime,这样您就可以添加所需的 Html。

此外,如果您想要所有 DateTime 模型的部分视图 EditorFor 模板。您可以调用部分视图文件 DateTime ,这将被拾取。

【讨论】:

    猜你喜欢
    • 2011-06-10
    • 1970-01-01
    • 2012-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-24
    相关资源
    最近更新 更多