2012-02-08 22 views
2

は私が持っている:ASP.NET MVC3:jQueryの日付ピッカーとして正しい形式で日付を表示editorFor私のモデルでは/ TextBoxFor

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

は、残念ながら、それだけEditorForに適用されますが、私はクラスEditorForを割り当てるカント、 htmlAttributesパラメータがないため、Jquery Datetimeピッカーを有効にします。

@Html.EditorFor(model => model.StartDate) 
@Html.TextBoxFor(model => model.StartDate, new { @class = "datePicker", @readonly = "readonly" }) 

したがって、最初には日付のみが表示されますが、日付ピッカーはありません。 秒は時刻も00:00と表示されますが、datetimepickerがあります。

注:と言うだけで、model.StartDate.ToString("mm/DD/yyyy")とは言いません。それは動作しません。

どのように日付だけを設定できますか?しかしそれのためのtimepickerを持っていて、読んでいるので、私はそれに任意の数字を入力できません。入力要素にバインドするためにその後

$(function() { 
     $.datepicker.setDefaults({ 
      dateFormat: 'dd/mm/yy' 
     }); 
    }); 

::私はクラスのタグを追加するのではなくjqueryのUIの日付ピッカーを使用してい

+1

私はこれに対するMVCレベルのソリューションに興味があります。私は自分のプロジェクトでこの効果を達成するために、標準的なhtml入力要素に頼ってしまった。 –

答えて

2

、私は経由して、デフォルトの日付書式を設定し

$(function() { 
     $("#StartDate").datepicker(); 
    }); 

希望に役立ちます。 EditorFor mvcタグのそれ。

+0

ありがとう、Yeaはfieldnameを介してそれを割り当てることは唯一の方法と思われるので、htmlattributesを別名クラスに設定することはできません。そして、私の表示コードを使用して、モデルのフォーマットを適用し、これを介してdatetimepickerを使用することができます。しかし、まだ読み込み専用に設定されていません。私の時間ピッカーは別の問題です。これは、@ Html.TextBoxFor(model => model.EndTime、new {@Value = Model.EndTime.ToString())で破棄されます。部分文字列(0,5)、@class = "timePicker"、@ readonly = "readonly" }) '。狂気 – Doomsknight