操作结果更新 MVC4 中动态列表的数据库
本文关键字:列表 数据库 动态 结果 更新 MVC4 操作 | 更新日期: 2023-09-27 18:36:56
我需要在我的控制器中保存用户内联版本的操作结果。我成功地使用 http://haacked.com/archive/2008/10/23/model-binding-to-a-list.aspx 中的源从 edmx 创建列表,但是当我保存时,我不知道如何处理操作结果。
查看我的 cstml:
@model List<SCP___AgroGerente.Models.VeiculoFazendaUsuario>
@{
ViewBag.Title = "Index";
}
<div class="Cabecalho">
<div class="left">
<h2>Lista de Veículos</h2>
<h4>Aqui você cadastra as Veículos</h4>
</div>
<div class="right" style="padding-top: 28px">
@Html.ActionLink(" ", "Create", string.Empty, new { @class = "icone new" })
</div>
<div class="clear"></div>
<hr />
</div>
<table class="tabelaFormatada">
<tr>
<th>Especificação
</th>
</tr>
@using (Html.BeginForm())
{
for (int i = 0; i < Model.Count(); i++)
{
<tr>
<td>
@Html.EditorFor(m => Model[i].VeiculoEspecificacao);
</td>
</tr>
}
<p>
<input type="submit" value="Salvar Alterações" />
</p> }
</table>
您说要更新列表,但操作链接指向创建方法。如果要执行更新,则需要将操作链接的操作指向执行更新的方法。如果您需要示例,请告诉我。
您需要在控制器中的 POST 方法中返回模型。如果您保留了默认基架,它应该已经存在。
它应该看起来像这样...
public ActionResult Create()
{
return View();
}
//
// POST: /booking/Create
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(booking booking)
{
if (ModelState.IsValid)
{
db.bookings.Add(booking);
db.SaveChanges();
}
return View(booking);
}
第一种方法是GET方法。第二个是 POST 方法,当您点击提交按钮时将调用该方法。
第二种方法返回包含模型对象的默认视图。如果我想返回不同的视图,我会像这样指定该视图......
返回视图("_myotherview",预订);
"内联编辑"是什么意思?