C# Mvc使用链接到模型的数据预填充日期字段

C# Mvc使用链接到模型的数据预填充日期字段,c#,asp.net-mvc,C#,Asp.net Mvc,我想创建一个表单,该表单将创建一个新项目,但会预填充一些数据,特别是我希望成为DateTime的日期。现在,并最终将此数据与模型链接,而不保留用户修改它的选项 到目前为止,我所做的是: @using (Html.BeginForm()) { { var currentDate = DateTime.Now; Model.m_OrderDate = currentDate; } @Html.ValidationSummary(true) (...) Order Date: @

我想创建一个表单,该表单将创建一个新项目,但会预填充一些数据,特别是我希望成为
DateTime的日期。现在
,并最终将此数据与模型链接,而不保留用户修改它的选项

到目前为止,我所做的是:

@using (Html.BeginForm()) {
{
    var currentDate = DateTime.Now;
    Model.m_OrderDate = currentDate;
}   
@Html.ValidationSummary(true)
(...)
Order Date: @Html.DisplayFor(model => model.m_OrderDate)<br/>

<p>
    <input type="submit" value="Create" />
</p>
</fieldset>
@使用(Html.BeginForm()){
{
var currentDate=DateTime.Now;
Model.m_OrderDate=当前日期;
}   
@Html.ValidationSummary(true)
(...)
订单日期:@Html.DisplayFor(model=>model.m_OrderDate)

但应用程序在运行时崩溃,出现在
Model.m_OrderDate=currenDate
行,表示
对象引用未设置为对象的实例。

我已经寻找了许多解决方案,但尚未解决。有人能帮我吗?非常感谢!

在您的模型中:

private DateTime? orderDate = null;
public DateTime OrderDate
{
    get { return orderDate ?? DateTime.Now; }
    set { orderDate = value; }
}
唯一的另一点是确保将初始化模型传递给GET视图,即:

public ActionResult MyAwesomeView()
{
    return View(new MyModel());
}

默认值将自动填充。

您的模型对象似乎为空-您是否在控制器中初始化它?我刚刚看到了与您相同的事情,Jarimba。不,它没有在控制器中初始化。到目前为止,在我的“创建”中视图,我不初始化任何东西,但我会尝试这样做。很好的观点!就这么简单。谢谢@RuiJarimba!