我认为模型是IEnumerable。视图是在创建具有读写操作的新控制器时创建的mvc基本视图。 我不希望编辑操作会调用不同的视图,我想在索引视图中添加一个按钮,通过按下特定行中的按钮,按钮将使用"按下的模型调用操作结果#34;从那里逻辑将继续。
视图
@model IEnumerable<V1_ILotto.Areas.Admin.Models.WithdrawalModel>
@{
ViewBag.Title = "בקשות משיכה";
}
<h2>בקשות משיכה</h2>
@using (Html.BeginForm("Approve", "Withdrawals", FormMethod.Post))
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
<table>
<tr>
<th>
@Html.DisplayNameFor(model => model.User)
</th>
<th>
@Html.DisplayNameFor(model => model.WithdrawalAmount)
</th>
<th>
@Html.DisplayNameFor(model => model.Balance)
</th>
<th>
@Html.DisplayNameFor(model => model.IsApproved)
</th>
<th></th>
</tr>
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.User)
</td>
<td>
@Html.DisplayFor(modelItem => item.WithdrawalAmount)
</td>
<td>
@Html.DisplayFor(modelItem => item.Balance)
</td>
<td>
<p>
<input type="submit" value="Submit" />
</p>
</td>
</tr>
}
</table>
}
控制器
[HttpPost]
public ActionResult Approve(WithdrawalModel withdrawalmodel)
{
if (ModelState.IsValid)
{
//logic for updating the db
return RedirectToAction("Index");
}
return View(withdrawalmodel);
}
注意:该视图不是获得单个模型,而是获得该模型的IEnumerable
答案 0 :(得分:1)
仅限助手(显示除外)将数据绑定到模型。如果你想要传回数据,你需要将你的值至少隐藏为
@Html.HiddenFor(x => x.Balance)
等