【发布时间】:2016-01-30 21:22:31
【问题描述】:
我想查看当前日期和时间。
我做了什么:
- 在 Vs 2013 社区中为 asp.net mvc5 (c#) 创建了一个新项目
- 为我的数据库添加了 edmx。所以它首先是数据库。
- 使用 Add > new scaffolded item 为我的每个数据库类添加了 Model-View-Controller。
- VS 为 CRUD 操作创建了视图和控制器。
- 现在一个视图中有两个字段,分别代表日期和时间。
- 早期的 VS 创建了简单的文本框,但我在模型中添加了注释,因此它在视图中创建了 Datepicker 和 TimePicker。
- 我想要的是两个字段中的当前日期和时间。
型号:
[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 中没有任何反应。
【问题讨论】:
-
是的。是的。只是这里有问题。
-
在将模型返回视图之前需要在 GET 方法中设置值 -
model.Date = DataTime.Today; return View(model);并且需要将[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]属性应用到属性(注意 ISO 格式)跨度> -
这对我来说是新的。模型.日期=数据时间.今天;给出错误“名称模型在当前上下文中不存在”。
-
您需要先在 GET 方法中初始化模型 -
var model = new YourModel(); model.Date = DateTime.Today; return View(model);(您应该始终将模型的实例返回给视图 -
另请注意,
<input type="date" .. />是EditorFor()生成的内容,仅 Chrome 支持。在 IE 和 FireFox 中它只会显示一个普通的文本框。如果您想要一致的 UI,最好使用 jquery datepicker。
标签: c# asp.net asp.net-mvc entity-framework date