Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
226 views
in Technique[技术] by (71.8m points)

c# - Html.TextBoxFor formatting or Html.EditorFor htmlAttributes?

I am kind of stumped because, I want to format the value and add a html attribute for css class.

If I use @Html.TextBoxFor(m => m.DateModified) - I can add html attribute but formatting does not work via DisplayFormat attribute on the member.

If I use @Html.EditorFor(m => m.DateModified) - Formatting works but I cannot add html attribute

If I use @Html.TextBox("DateModified", Model.DateModified, ...) - I get null reference exception when Model is null when the form is in add mode

What is the best way to achieve this?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

I ended up solving this by creating a custom editor template for my date picker as so:

Shared/EditorTemplates/DateTime.cshtml

 @model System.DateTime? 
 @Html.TextBox("", Model.HasValue ? Model.Value.ToString("dd/MM/yyyy") : string.Empty, new { @class = "date-picker" })

Then in my original page continue to use

@Html.EditorFor(m => m.DateModified)

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...