我有以下領域的日期時間格式:
如何更改使用ToShortDateString和DatePicker的
@Html.TextBoxFor(model => model.Patient.dateOfBirth, new { id = "datepicker", @class = "double text white" })
它具有以下元數據定義日期時間字段:
[Required(ErrorMessage = "Date Of Birth is required")]
[DisplayFormat(DataFormatString = "{0:dd MMM yyyy}")]
public DateTime dateOfBirth;
的問題是我需要它將DOB顯示爲d/m/y,但作爲日期時間,因爲我使用的日期選擇器需要值保留DateTime。
日期選取器返回具有dd/mm/yy格式的值。 (.ToShortDateString()不能保存我這次)
我試過達林Dimitrov答案從here和here,但除非我是一個完整的白癡那些真的不適合我。
後來編輯:
我設法找到這一解決方案,並希望與任何人從現在開始需要它分享。
@Html.HiddenFor(model => model.DOBirth, new { id = "shortDate", @class = "double text white" })
@Html.TextBox(" ", Model != null ? Model.dateOfBirth.Value.ToShortDateString() : string.Empty, new { id = "datepicker", @class = "double text white" })
,並使用以下的Jquery:
$('#datepicker').datepicker({
changeMonth: true,
changeYear: true,
inline: true,
onSelect: function (dateText, inst) { CalculateAge(dateText); } //an extra method
});
商店你進入你的隱藏字段(通過jQuery通過隱藏字段「shortDate」的ID)和值。因此,你可以發送值回控制器
不能真正使用編輯器..需要我的id和我的班級;因爲我不使用編輯器,我認爲不使用ApplyFormatInEditMode = true –
在這種情況下,您可以編寫一個自定義編輯器模板,如第二個示例中所示。這就是說你不一定需要將類和id添加到文本字段。你可以很容易地將它包裝在一個div中,並將這些類應用到這個div,然後簡單地調整你的選擇器。所以第一個解決方案仍然是一個很好的工作。 –
對不起,我在我的午休時間...我會嘗試使用div方法;我會讓你知道它是如何去的 –