【发布时间】:2015-02-19 04:11:48
【问题描述】:
这是我想要返回 Id 的观点
<table border="1">
<tr>
<td> Id </td>
<td> Name </td>
<td> Age </td>
<td> Date Of Joining </td>
<td> Address </td>
<td> Department </td>
<td> Action </td>
</tr>
@foreach (var nn in Model){
<tr>
<td> @nn.Staff_Id </td>
<td> @nn.Staff_Name </td>
<td> @nn.Age </td>
<td> @nn.DO_Joining </td>
<td> @nn.Address </td>
<td> @nn.Deptt </td>
<td> @Html.ActionLink("Edit", "EditStaff", "Home", new {id= nn.Staff_Id }) | @Html.ActionLink("Remove", "RemoveStaff", "Home", new {id= nn.Staff_Id })</td>
</tr>
} 这是将 id 作为参数传递给的控制器
[HttpGet]
public ActionResult EditStaff(int id)
{
Database1Entities db = new Database1Entities();
var Staff = db.TblStaffs.Where(m => m.Staff_Id == id).ToList();
return View(Staff);
}
[HttpPost]
public ActionResult EditStaff(TblStaff obj)
{
return View();
}
这是第一次出现的Action RoutCreat
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Creat", id = UrlParameter.Optional }
然后我在这个视图中有一个链接到 ShowStaff 控制器
@Html.ActionLink("Show All Staff", "ShowStaff")
我已将id 传递给控制器EditStaff,但是当我运行项目并单击任何工作人员面前的链接编辑 时,它给了我这样的错误
参数字典包含“MvcApplication1.Controllers.HomeController”中方法“System.Web.Mvc.ActionResult EditStaff(Int32)”的不可为空类型“System.Int32”的参数“idd”的空条目。可选参数必须是引用类型、可空类型或声明为可选参数。
我已经花了很多天,但无法修复它。请任何人帮助我解决这个问题。
【问题讨论】:
标签: c# asp.net-mvc asp.net-mvc-4 routing