0

ユーザーが日付範囲を選択していくつかの統計を表示できるフォームを作成しようとしています。「試した代替DateTimeエディターテンプレート」を使用していない限り、テキストボックスに日付だけを表示するように日時を取得できませんが、フォームに接続されていないため、フォームに接続されていません。 idまたはname属性。

私は何が間違っているのですか?

DateTimeエディターテンプレート

@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>
}
4

1 に答える 1

1

試す:

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

ヘルパーはTextBox、モデル/テンプレート階層から適切な名前を作成します。

于 2012-05-21T16:48:27.570 に答える