MVC Razor - 默认值为文本框类型日期的当前日期

时间:2014-10-17 04:54:25

标签: asp.net-mvc asp.net-mvc-4 date razor

我的Textbox类型为date。我正在尝试将textbox的默认值设置为当前日期。

@Html.TextBoxFor(x => x.Date, new { @id = "Date", @type = "date", 
                                    @value = DateTime.Now.ToShortDateString() })

上述行未设置默认值。如何将默认值设置为当前日期?

5 个答案:

答案 0 :(得分:27)

正如Stephen Muecke所说,你需要在模型上设置属性的值。

// in controller method that returns the view.
MyModel model = new MyModel();
model.Date = DateTime.Today;

return View(model);

你的剃刀会是:

@Html.TextBoxFor(x => x.Date, "{0:yyyy-MM-dd}", new { @class = "form-control", @type = "date"})

请注意,使用id方法时,nameFor属性应自动分配给属性名称,例如@Html.TextBoxFor(),因此您不需要&#39 ; t需要明确设置id属性。

答案 1 :(得分:27)

在视图中管理的更好方法

@Html.TextBoxFor(x=> x.Date, new { @Value = @DateTime.Now.ToShortDateString() })

答案 2 :(得分:1)

另一种解决方案:

 @Html.TextBoxFor(model=>model.CreatedOn, new{@value= System.DateTime.Now})

它适用于我,确定它适用于你的。

答案 3 :(得分:1)

<div class="box">
my content
</div>

答案 4 :(得分:0)

<input asp-for="date" value="@DateTime.Today" type="datetime" class="form-control" />

这对我有用。请记住要根据您的模型更改“日期”。

并在需要时使用它

<input asp-for="date" value="@DateTime.Now" type="datetime" class="form-control" />