在asp.net c#MVC中提交表单之前,文本框如何自动显示日期和时间?

时间:2018-11-18 11:34:30

标签: c# asp.net-mvc

我正在研究一个剃刀视图,该视图将一个表单提交到数据库。它具有三个文本框,用于存储标题,金额和日期。

尽管它可以正常工作,但是我不想手动输入日期,我希望表单以隐藏的方式提交表单时自动选择日期和时间,不允许用户更改日期和时间提交表单时。

这是剃刀视图:

@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; }

  }

2 个答案:

答案 0 :(得分:0)

您可以这样做

        [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 :(得分:0)

有两种简单的方法。

方法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 datetimepicker或Bootstrap datetimepicker。