2011-02-10 8 views
0

現在、DateTimeオブジェクトに最小値が設定されている場合は、空の文字列としてDateTimeオブジェクトを表示するカスタムヘルパーをEditorForヘルパでオーバーライドしています。それは、この使用してTextBoxForヘルパーを行います。ASP MVC EditorForテンプレートをオーバーライドし、元のEditorFor引数を含めますか?

<%: Html.TextBox("", (Model != DateTime.MinValue ? Model.Date.ToString("ddMMMyy") : string.Empty), new { @class = "edit-date-field" })%> 

問題は、私はこのようにこれを使用する場合:

<%: Html.EditorFor(m => m.StartDate, new { id = "field-id", @class = "field-class"})%> 

私はMVCは、フィールド-idとフィールド・クラスの属性を維持すると予想、代わりに生成された要素はid = "StartDate"とclass = "edit-date-field"の1つのクラスのみを持ちます。

したがって、EditorForの元の呼び出しに含まれている属性を保持するにはどうすればよいですか?元のIDとクラスの属性をテンプレートに追加すると、DateTimeオブジェクトを持つEditorForのすべての呼び出しで、必要なものではない特定の要素/値のペアが取得されます。

ありがとうございます!

答えて

0

TextBoxを使用してEditorForを置き換えようとしています。あなたの元のTextBox HTMLヘルパーは、IDセットとクラス属性を持っていません

編集日付フィールド

に設定したことは、これを試してみてください:

<%: Html.TextBox("field-id", (Model != DateTime.MinValue ? Model.Date.ToString("ddMMMyy") : string.Empty), new { @class = "field-class" })%>