我正在开发一个剃刀视图,它将表单提交到数据库。它有三个文本框来存储标题、金额和日期。
虽然它工作正常,但我不想手动输入日期,我希望表单在以隐藏的方式提交表单时自动选择日期和时间,不允许用户在提交表单时更改日期和时间。
这是剃刀视图:
@using (Html.BeginForm("Request", "Requester", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<div class="form-group">
@Html.LabelFor(a => a.title)
@Html.TextBoxFor(a => a.title, new { @class = "form-control" })
</div>
<div class="form-group">
@Html.LabelFor(a => a.amount)
@Html.TextBoxFor(a => a.amount, new { @class = "form-control" })
</div>
<div class="form-group">
@Html.LabelFor(a => a.date_and_time)
@Html.TextBoxFor(a => a.date_and_time, new { @class = "form-control" })
</div>
<button class="btn btn-primary">Request</button>
}
这就是型号:
public class Events
{
public int Id { get; set; }
public string title { get; set; }
public string amount { get; set; }
public DateTime date_and_time { get; set; }
}
您可以执行类似的操作
[HttpPost]
public ActionResult Request(Events event)
{
event.date_and_time = DateTime.Now();
//then do other operations or just save it in the the database
}
有两种简单的方法。
方法1
<div class="form-group">
@Html.LabelFor(a => a.date_and_time)
<input type="datetime-local"...>
</div>
方法2
<div class="form-group">
@Html.TextBoxFor(a => a.date_and_time, new { @type = "date", @class = "form-control
datepicker" })
</div>
不幸的是,方法2只支持"日期"类型。您也可以考虑使用jquery日期时间选择器或Bootstrap日期时间选择器。