0

カスタム オブジェクトのエディター テンプレートがあります。かなり基本的な - 文字列と日付がたくさんあるだけです:

<%:Html.LabelFor(model => model.AString)%>
<%:Html.TextBoxFor(model => model.AString)%>

<%:Html.LabelFor(model => model.ADate)%>
<%:Html.EditorFor(model => model.ADate)%>

<%:Html.LabelFor(model => model.AnotherDate)%>
<%:String.Format("{0:d}", Model.AnotherDate)%>

これは、Shared/EditorTemplates フォルダーに保存されます。すべての日時フィールドをオーバーライドするために、同じ場所に DateTime.ascx エディター テンプレートもあります。

上記のコードでわかるように、日付フィールドの 1 つは日付フィールドに を使用し、もう 1 つは使用EditorForしません。ただし、どちらも同じようにレンダリングされるため、DateTime エディターにアクセスしていないと思われます。私が間違っていることはありますか?これができるはずです。

ビューで DateTime エディターを直接使用しましたが、問題なく動作します。

助けや洞察をありがとう。

4

2 に答える 2

0

MVC 2 および MVC 3 でシナリオを試しましたが、MVC 3 では期待どおりに動作します。

ちょうどあなたがあなたのエディターEditorTemplatesを含むあなたの Shared にあり、あなたが呼び出す内に持っていることを正しく理解しています。ComplexModel.ascxComplexModel.ascxHtml.EditorFor(m => m.ADate)

これに関するMVC 2の更新についてはわかりませんが、MVC 3は間違いなく機能します。

于 2010-09-21T03:30:49.300 に答える
0

私は問題を理解しました:

モデルのデータ注釈用に部分的なメタデータ クラスを設定しています (エンティティ フレームワークを使用しています)。私の部分的な日付ビューは ?DateTime (DateTime.ascx) 用です

すべての日付の DataType 属性を[DataType(DataType.Date)]ではなく に設定しました[DataType(DataType.DateTime)]

その属性を変更すると、すべて修正されました。

于 2010-09-22T18:11:02.650 に答える