日期时间编辑器对于模板 - 设置 id 和名称属性

本文关键字:id 属性 设置 时间 编辑器 于模板 日期 | 更新日期: 2023-09-27 18:35:03

我正在尝试制作一个表单,让用户选择一个日期范围来查看一些统计信息。 我无法让日期时间在文本框中显示为日期,除非我使用的是"我尝试过的备用日期时间编辑器模板",但随后我没有将其连接到表单,因为它没有 id 或名称属性。

我做错了什么?

日期时间编辑器模板

@inherits System.Web.Mvc.WebViewPage<DateTime>
@Html.TextBoxFor(p => p, new { @class = "datepicker span2" })

我尝试过的备用日期时间编辑器模板

@inherits System.Web.Mvc.WebViewPage<DateTime>
<input class="datepicker span2" type="text" value="@Model.ToShortDateString()" />

我的模型

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

表单上的标记

@using (Html.BeginForm("Stats", "Manage", FormMethod.Post, new { @class = "form-inline" }))
{
    @Html.EditorFor(p => p.MinDate)
    <span> - </span>
    @Html.EditorFor(p => p.MaxDate)
    <button type="submit">Go</button>
}

日期时间编辑器对于模板 - 设置 id 和名称属性

尝试:

@inherits System.Web.Mvc.WebViewPage<DateTime>
@Html.TextBox("", ViewData.TemplateInfo.FormattedModelValue, new { @class = "datepicker span2" })

TextBox帮助程序将从模型/模板层次结构生成适当的名称。