所以我试图使用http://www.eyecon.ro/bootstrap-datepicker/
中的日期选择器我遇到了为此datepicker设置默认值的问题。它显示了格式" 0001-01-01 00:00:00"在我可以设定日期之前。我想要做的是显示今天日期! 我按如下方式创建DOM,这不是一个问题..
<div>
@Html.EditorFor(model => model.ValidationValidFrom, new { htmlAttributes = new { @class = "form-control", @id = "ValidationValidFrom" }})
</div>
这将使用id&#34; ValidationValidFrom&#34;创建输入。 我的datepicker的jQuery代码如下:
$("#ValidationValidFrom").datepicker({
format: 'yyyy-mm-dd',
defaultDate: new Date()
});
唯一可行的是属性格式, defaultDate 由于某种原因无效,我尝试了其他线程中显示的其他属性,但无济于事..
生成的代码如下所示:
<input class="form-control text-box single-line" data-val="true" data-val-date="The field ValidationValidFrom must be a date." data-val-required="The ValidationValidFrom field is required." id="ValidationValidFrom" name="ValidationValidFrom" type="datetime" value="0001-01-01 00:00:00">
答案 0 :(得分:2)
EditorFor
生成输入并将值设置为模型属性的值。
在这种情况下,模型的属性为model.ValidationValidFrom
。
如果没有确认,这很可能是DateTime,即:
public class MyModel {
public DateTime ValidationValidFrom { get; set; }
如果没有给出日期时间值,则它将是默认值:0001-01-01。
您可以在控制器中设置值:
[HttpGet]
public ActionResult MyView() {
var model = new MyModel();
model.ValidationValidFrom = DateTime.Today; // or .Now to include time
return View(model);
js defaultDate
未将其从0001-01-01更改的原因是因为<input>
已有值,因此无法设置为“默认”。
您可以通过将属性更改为DateTime?
并将其保留为控制器中的null来更改此设置。这将生成一个value=""
的输入,然后js应该给它一个默认值。