【发布时间】:2014-02-06 15:42:17
【问题描述】:
我有一个编辑视图,它显示了我的一些字段,如下所示:
<table>
<tr>
<td style="width:40%; vertical-align:top">
<div class="editor-label">
@Html.LabelFor(model => model.CREATED_DATE)
</div>
<div class="editor-field">
@Html.DisplayFor(model => model.CREATED_DATE)
@Html.ValidationMessageFor(model => model.CREATED_DATE)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.LAST_MODIFIED_DATE)
</div>
<div class="editor-field">
@Html.DisplayFor(model => model.LAST_MODIFIED_DATE)
@Html.ValidationMessageFor(model => model.LAST_MODIFIED_DATE)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.STATUS)
</div>
<div class="editor-field">
@Html.DropDownListFor(model => model.STATUS, Model.Statuses)
@Html.ValidationMessageFor(model => model.STATUS)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.SEVERITY)
</div>
<div class="editor-field">
@Html.DropDownListFor(model => model.SEVERITY, Model.Severities)
@Html.ValidationMessageFor(model => model.SEVERITY)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.PRIORITY)
</div>
<div id="priorityDiv" class="editor-field">
@Html.EditorFor(model => model.PRIORITY)
@Html.ValidationMessageFor(model => model.PRIORITY)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.DESCRIPTION)
</div>
<div id="descriptionDiv" class="editor-field">
@Html.EditorFor(model => model.DESCRIPTION)
@Html.ValidationMessageFor(model => model.DESCRIPTION)
</div>
</td>
</tr>
</table>
本质上,我希望用户能够编辑除顶部的两个字段 CREATED_DATE 和 LAST_MODIFIED_DATE 之外的任何字段。但是,当我点击提交按钮时,两个日期字段返回为空。我的控制器代码如下。
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit(Alert alert)
{
if (ModelState.IsValid)
{
alert.LAST_MODIFIED_DATE = DateTime.Now;
db.Entry(alert).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
return View(alert);
}
有没有办法防止用户编辑视图中的字段,而字段的内容没有作为空返回给控制器?
【问题讨论】:
标签: c# asp.net asp.net-mvc-4