当带有此文本框的MVC视图页面加载时,我想默认显示当前日期和时间。我怎样才能做到这一点?用剃刀。
@Html.EditorFor(model => model.ReturnDate)
答案 0 :(得分:21)
在您从控制器返回模型之前,请将ReturnDate
属性设置为DateTime.Now()
myModel.ReturnDate = DateTime.Now()
return View(myModel)
您的视图不是在属性上设置值的正确位置,因此控制器是更好的地方。
你甚至可以拥有它,以便ReturnDate
上的getter返回当前日期/时间。
private DateTime _returnDate = DateTime.MinValue;
public DateTime ReturnDate{
get{
return (_returnDate == DateTime.MinValue)? DateTime.Now() : _returnDate;
}
set{_returnDate = value;}
}
答案 1 :(得分:10)
您可以在将模型发送到视图之前在模型上初始化ReturnDate。
在控制器中:
[HttpGet]
public ActionResult SomeAction()
{
var viewModel = new MyActionViewModel
{
ReturnDate = System.DateTime.Now
};
return View(viewModel);
}
答案 2 :(得分:7)
这不是默认构造函数的用途吗?
class MyModel
{
public MyModel()
{
this.ReturnDate = DateTime.Now;
}
public date ReturnDate {get; set;};
}
答案 3 :(得分:6)
如果你想在没有模特的情况下在视图上显示日期时间,只需写下:
Date : @DateTime.Now
输出将是:
Date : 16-Aug-17 2:32:10 PM