我有一個Textbox
,類型爲date
。我正在嘗試將textbox
的默認值設置爲當前日期。MVC Razor - 作爲文本框類型日期的當前日期的默認值
@Html.TextBoxFor(x => x.Date, new { @id = "Date", @type = "date",
@value = DateTime.Now.ToShortDateString() })
上述行不設置默認值。如何設置當前日期的默認值?
我有一個Textbox
,類型爲date
。我正在嘗試將textbox
的默認值設置爲當前日期。MVC Razor - 作爲文本框類型日期的當前日期的默認值
@Html.TextBoxFor(x => x.Date, new { @id = "Date", @type = "date",
@value = DateTime.Now.ToShortDateString() })
上述行不設置默認值。如何設置當前日期的默認值?
正如Stephen Muecke所說,您需要在模型上設置屬性值。
// in controller method that returns the view.
MyModel model = new MyModel();
model.Date = DateTime.Today;
return View(model);
而且你的剃鬚刀是:
@Html.TextBoxFor(x => x.Date, "{0:yyyy-MM-dd}", new { @class = "form-control", @type = "date"})
注意使用For
方法時id
和name
屬性應該被自動分配屬性名稱,如@Html.TextBoxFor()
,所以你不」 t需要明確設置id
屬性。
我懷疑OP可能不希望財產'日期'是'字符串'。相反,將屬性設置爲DateTime.Now或DateTime.Today並使用@ Html.TextBoxFor(m => m.Date,「{0:dd-MM-yyyy}」,new {@class =「如果你想渲染瀏覽器的日期選擇器(在這種情況下格式必須是'yyyy-MM-dd') – 2014-10-17 05:23:50
謝謝@StephenMuecke我確實希望它在'日期'格式...我用'{0:yyyy-MM-dd}'&然後只有它工作..因爲HTML5輸入日期期望RFC3339格式的日期....! – Anup 2014-10-17 06:20:30
@Anup,請注意IE瀏覽器在使用它的時候有一些問題值得所有瀏覽器測試。 – 2014-10-17 06:36:47
這是更好的方式在視圖來管理
@Html.TextBoxFor(x=> x.Date, new { @Value = @DateTime.Now.ToShortDateString() })
歡迎來到StackOverflow。感謝您的回答。最好是按照您所看到的方式對代碼進行格式化,以便於閱讀。 – GreenAsJade 2014-10-17 05:30:12
適合我需要的作品 – Scanner 2016-01-26 11:56:07
這應該是公認的答案。直接點,更容易實施。 – CyberNinja 2017-06-26 13:19:44
另一種解決方案:
@Html.TextBoxFor(model=>model.CreatedOn, new{@value= System.DateTime.Now})
它工作在我的結束,相信它會在你的工作。
$(document).ready(function() {
var dateNewFormat, onlyDate, today = new Date();
dateNewFormat = today.getFullYear() + '-';
if (today.getMonth().length == 2) {
dateNewFormat += (today.getMonth() + 1);
}
else {
dateNewFormat += '0' + (today.getMonth() + 1);
}
onlyDate = today.getDate();
if (onlyDate.toString().length == 2) {
dateNewFormat += "-" + onlyDate;
}
else {
dateNewFormat += '-0' + onlyDate;
}
$('#mydate').val(dateNewFormat);
});
在將模型傳遞給視圖之前,只需在模型中設置Date的值即可。 – 2014-10-17 04:56:41