0

我想创建一个表单,该表单将创建一个新项目,但它会预先填充一些数据,尤其是我想要成为的日期,DateTime.Now并最终将这些数据与模型链接起来,而不会让我的用户选择修改它。

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

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

但是该应用程序在运行时在运行时崩溃了,Model.m_OrderDate = currenDateObject reference is not set to an instance of an object.

我已经查看了许多解决方案,但还没有解决它。谁能帮我?非常感谢!

4

1 回答 1

1

在您的模型中:

private DateTime? orderDate = null;
public DateTime OrderDate
{
    get { return orderDate ?? DateTime.Now; }
    set { orderDate = value; }
}

唯一的另一部分是确保将初始化模型传递给 GET 视图,即:

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

默认值将自动填充。

于 2013-03-04T16:51:35.823 回答