i'm server side guy trying teach myself bit of css, javascript, jquery etc. have written little test project loads model , displays values in simple text boxes. works ok, can see:
but of course, want display dates appropriately. let me change input types "date". here's razor code:
@html.textboxfor(m => m.date, new { @type="date", @id="ondate" })
well, worked.... sort of. mean, displays date picker... it's no longer displaying model's date!
what doing wrong?
the type="date"
attribute renders browsers html5 datepicker. in order work correctly, format needs yyyy-mm-dd
(iso format), needs be
@html.textboxfor(m => m.date, "{0:yyyy-mm-dd}", new { @type="date" })
alternatively can set data attributes on property
[datatype(datatype.datetime)] [displayformat(applyformatineditmode = true, dataformatstring = "{0:yyyy-mm-dd}")] public datetime date { get; set; }
and use
@html.editorfor(m => m.date)
which adds type="date"
attribute , uses correct format.
side notes:
- the html5 datepicker supported in recent versions of chrome
- using
editorfor()
(in mvc-4) not allow setid
attribute, not clear why need change defaultid="date"
id="ondate"
Comments
Post a Comment