4

私はこれまでのところうまく機能する次の日付ピッカーを持っています:

$('.tmmdatepicker').datepicker({ showOn: "button",
                buttonImage: "../Content/images/ico-calendar.png",
                buttonImageOnly: true,
                dateFormat: "d M, yy",
                showAnim: "fadeIn",
                autosize:true
            });

これがかみそりのビューです:

<tr>
    <td>Start date:</td>
    <td> @Html.EditorFor(m => m.CurrentFilter.StartTime, 
        new { @class = "tmmdatepicker" , @style = "width:80px" })
   </td>                 

これまでのところうまく機能していますが、ビューが最初に読み込まれるとき、時刻は指定された形式(d M、yy)でフォーマットされません。datetimepickerを1回使用した後でのみ、EditorForのコンテンツが更新されます。ルール。

だから、私が最初にサイトに入ったとき:

(http://i.imgur.com/nAm56.png)

ボタンを使用して日付を選択した後:

ここに画像の説明を入力してください<---これが私が最初に見たい方法です。

それで、最初にこの動作をロードする方法はありますか?(申し訳ありませんが、写真への直接リンクを含めることはできません)

4

2 に答える 2

2

EditorTemplates を使用できます。

~/Views/Shared/EditorTemplates/DateTime.cshtml次のコードでファイルを作成します。

@model DateTime?
@Html.TextBox("", (Model.HasValue ? Model.Value.ToString("dd MMM, yyyy") : string.Empty))
于 2012-11-20T15:33:56.647 に答える
1

問題は、クライアント側で日時形式を指定していて、サーバーで何が起こっているかを完全に忘れているように見えることです。ビューが最初に読み込まれると、プロジェクトの現在の UI カルチャ情報を使用して日付を文字列に変換する asp.net ビュー エンジンによって値がレンダリングされます。プロジェクト全体のカルチャを変更したり、回答の 1 つで既に提案されているように、DateTime タイプのエディター テンプレートを作成したりできます。

于 2012-11-21T08:30:52.983 に答える