这个问题可能有几次被问过,但它不适用于我的情况,所以请耐心等待。来自剃须刀视图的通话后编辑动作mvc4
我在我的控制器以下操作:
[HttpPost]
public ActionResult Edit(Organization obj)
{
if (ModelState.IsValid)
{
OrgRepo.Update(obj);
return RedirectToAction("Details");
}
else
return View();
}
public ActionResult Edit(int id)
{
return View();
}
我试图通过调用后编辑操作来更新数据到数据库中。 为此,我呼吁编辑操作如下:
@foreach (var item in Model) {
var test = item.PartyId;
<tr id="@test">
<td class ="txt">
<input type="text"class="txt" value="@Html.DisplayFor(modelItem => item.Caption)"/>
</td>
<td class ="txt">
<input type="text"class="txt" value="@Html.DisplayFor(modelItem => item.NameInUse)"/>
</td>
<td class ="txt">
<input type="text"class="txt" value="@Html.DisplayFor(modelItem => item.Description)"/>
</td>
<td>
@using (Html.BeginForm())
{
@Html.ActionLink("Edit", "Edit", "Org", null, new { @obj = item })
}
</td>
</tr>
然而,当我点击编辑我得到异常: 参数字典包含参数为非可空类型的“身份证”无效项'System.Web.Mvc.ActionResult Edit(Int32)'中的'System.Int32'在'Dwiza.Controllers.OrgController'中。可选参数必须是引用类型,可为空类型,或者声明为可选参数。 参数名:参数
我的问题:
- 能有人帮助如何解决这一问题?
- 为什么它的编辑动作被调用而不是编辑?
- 什么是更好的方式来调用通过jquery调用编辑操作,或ajax 或任何其他,如果你可以建议更好的方法来做到这一点?
在此先感谢//
看起来你失踪设置“方法”参数“后”您