【问题标题】:MVC 4 EditorFor/TextBoxFor and date fieldMVC 4 EditorFor/TextBoxFor 和日期字段
【发布时间】:2013-07-11 20:13:20
【问题描述】:

NweBee here...我们如何使用 MVC 4 在具有特定宽度的输入框中仅显示和编辑日期时间字段的日期部分?我们似乎可以通过在 EditorFor 中使用日期编辑器模板来获取日期部分,并且可以在 TextBoxFor 中使用 class="width.. 设置宽度,但似乎无法同时获取两者。

【问题讨论】:

标签: asp.net-mvc asp.net-mvc-4 razor


【解决方案1】:

您可以像这样将格式指定为@Html.TextBoxFor

@Html.TextBoxFor(m => m.Date, "{0:dd/MM/yyyy}", new { @class = "width-xx" })

您还可以在this guide 之后为日期时间字段实现自定义编辑器模板,并将您的自定义 CSS 类包含在新模板中。如果您需要在整个应用程序或特定控制器中使用相同的样式,则此解决方案非常好。

【讨论】:

    【解决方案2】:

    一种方法是将您的 @Html.EditorFor() 包装在一个 div 中,并通过在包含的 div 中选择输入来应用您的样式。

    <div class="editorfordate">
        @Html.EditorFor(m=>m.MyDate)
    </div>
    

    还有 CSS:

    .editorfordate > input {
        width: 34px; /* or whatever you want */
    }
    

    更好的方法是实现自定义 EditorFor 模板,这样每次您使用 @Html.EditorFor() 帮助器时,都会自动创建额外的包装器 div。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-19
      • 1970-01-01
      • 2012-03-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多