【发布时间】:2019-12-19 05:00:48
【问题描述】:
我只想在单击更新按钮时针对特定 ID 更新一行中的单个值,该 ID 在控制器中可用,但更新后的值字段不可用,因此当我按下更新按钮时,控制器更新了数据库但在 DB 中存储一个空值。
//View Code
<tbody>
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(m => item.Id)
</td>
<td>
@Html.DisplayFor(m => item.TagName)
</td>
<td>
@Html.DisplayFor(m => item.TagCategory)
</td>
<td>
@Html.TextBoxFor(m => item.TagValue, new { htmlAttributes = new { @class = "form-control" } })
</td>
<td>
@Html.ActionLink("Update", "Update", new { id = item.Id}, new { htmlAttributes = new { @class = "form-control" } })
</td>
</tr>
}
</tbody>
//Controller Code
public ActionResult Update([Bind(Include = "Id,TagValue") ]Tag tags)
{
var data = db.Tags.Where(x => x.Id == tags.Id).FirstOrDefault();
if (data!=null)
{
data.TagValue = tags.TagValue;
db.SaveChanges();
return RedirectToAction("Index");
}
return View();
}
【问题讨论】:
-
也许你想更新一个特定的行?但是您需要使用 jquery/ajax,或者如果您使用这种方法,您需要在表单标签内创建动态表单标签,您需要提交按钮。
-
你会包含你的整个 html/razor 吗?
标签: c# sql asp.net-mvc model-view-controller