我希望获得当前的日期和时间。
我做了什么:
模型:
[DataType(DataType.Date)]
public Nullable<System.DateTime> Date { get; set; }
[DataType(DataType.Time)]
视图:
<div class="form-group">
@Html.LabelFor(model => model.Date, htmlAttributes: new { @class = "control-label col-md-2"})
<div class="col-md-10">
@Html.EditorFor(model => model.Date, new { htmlAttributes = new { @class = "form-control"} })
@Html.ValidationMessageFor(model => model.Date, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.Time, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.Time, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.Time, "", new { @class = "text-danger" })
</div>
</div>
控制器:
public ActionResult Create()
{
return View();
}
这些是日期和时间选择器。我希望有实际的当前日期和时间
到目前为止我尝试了什么:
使用@value = @model.returndate = DateTime.Now;
model.returndate总是给出错误。我试图在控制器和视图中使用。
使用Viewbag.Date = DateTime.Now;
并在视图@Value = @Viewbag.Date
中没有任何反应。
答案 0 :(得分:2)
当您使用Model
和EditorFor
来显示模型属性中的日期时,您应该在返回视图之前进行设置:
public ActionResult Create()
{
return View(new YourModel { Date = DateTime.Now } );
}
答案 1 :(得分:2)
当您绑定到模型属性时,您希望在那里的值必须在模型属性上设置,或者在ModelState
中设置(由Request
的值组成,{{1} }和ViewData
)。
出于您的目的,最合适的方法是设置model属性的值。您可以像@ ken2k建议的那样手动执行此操作,或者您可以使用自定义getter将其设置为属性的默认值:
ViewBag
现在,这两个属性将始终设置为显式值或当前日期/时间。
注意:我使用[DataType(DataType.Date)]
private DateTime? date;
public DateTime Date
{
get { return date ?? DateTime.Today; }
set { date = value; }
}
[DataType(DataType.Time)]
private DateTime? time;
public DateTime time
{
get { return time ?? DateTime.Now; }
set { time = value; }
}
作为时间值,但您应该小心。通常,您应始终将UTC用于时间,然后根据需要转换为/从本地转换。主要问题是ASP.NET中的本地时间是服务器时间,这可能是也可能不是用户操作的时间,甚至是组织运行的时间。特别是如果您执行类似的操作在Azure中建立一个站点或者类似的站点,以便在不同国家/地区之间实现负载均衡以获得更高的可用性,然后本地时间变得毫无意义且实际上是灾难性的。
答案 2 :(得分:0)
在这里和那里看后,我这样做是为了实现我的目标,即获得当前的日期和时间。
由于它是数据库第一种方法,我需要找到模型类,它位于Model.edmx&gt; model.tt&gt; mycalss.cs下。
然后我添加了像Chris Pratt的回答一样的注释。这给了我日期和时间,但不是日期选择器。
现在我去了nuget包管理,在项目中添加了jquery UI。转到此处:jQuery Date picker
它给了我漂亮的,适合移动设备的日期选择器和当前日期。