1

Razor と EntityFramework で MVC3 を使用しています。イベントのスケジューリングを処理するために、jquery datepicker と timepicker を使用して、StartDate、StartTime、EndDate、EndTime を用意しています。ViewModel で DisplayFormatAttribute を使用しようとしていますが、Textbox には DateTime 文字列全体が表示され続けます。

ビューモデルには、次のプロパティがあります。

    [DisplayFormatAttribute(DataFormatString = "{0:mm/dd/yyyy}")]
    public DateTime StartDate   { get; set; }

    [DisplayFormatAttribute(DataFormatString = "{0:h:mm tt}")]
    public DateTime StartTime   { get; set; }

そして、私の見解は次のようになります。

    <div id="event-datetime-range" style="display:inline">
        <span id="event-startdatetime">
            @Html.TextBoxFor(model => model.StartDate, new { placeholder = "Start Date", id = "event-start-date", @class = "event-datepicker" });

            <span class="event-timerange">at</span>
            @Html.TextBoxFor(model => model.StartTime, new { placeholder = "Time", id = "event-start-time", @class = "event-timepicker event-timerange" })
        </span>

誰かが私が間違っていることを教えてもらえますか? 前もって感謝します!

4

3 に答える 3

3

このDisplayFormat属性はHtml.DisplayFor()メソッドで使用するためのものであり、 では使用できませんHtml.TextBoxFor。カスタムEditorTemplateを使用して日付形式を表示することをお勧めします。または、jQuery を使用します。

于 2011-06-30T16:09:11.283 に答える
1

JQuery 日付ピッカーを使用しているdateFormat場合は、コントロールを作成するときにオプションを使用します。

jqueryの日付ピッカー

また、日付/時刻形式の「mm」は分で、「MM」は月です。

@Html.EditorFor()代わりに試してみることもできます@Html.TextBoxFor()

于 2011-06-30T15:16:59.657 に答える
0

を使ってみてください[DisplayFormat(DisplayFormatString={"0:d})]

于 2011-06-30T15:18:17.643 に答える