带有参数问题的 MVC 5 路由
MVC 5 routing with parameter issue
我正在尝试创建一个编辑操作方法,该方法将 id 作为参数以从数据库中获取员工并允许用户编辑 details.Here 是我的编辑操作代码。
public ActionResult Edit(int id)
{
EmployeeData eData = new EmployeeData();
Employee employee = eData.Employees.Single(x => x.ID == id);
return View(employee);
}
}
这是我的路由器配置
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapMvcAttributeRoutes();
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
我尝试使用属性路由,但仍然无法获得所需的结果result.And我收到此错误消息
参数字典包含 'WebApplication1.Controllers.EmployeeController' 中方法 'System.Web.Mvc.ActionResult Edit(Int32)' 的不可为空类型 'System.Int32' 的参数 'id' 的空条目。可选参数必须是引用类型、可空类型或声明为可选参数。
参数名称:parameters
我只需要在
的索引页面中编辑用于编辑的 Html 辅助操作链接
@Html.ActionLink("Edit", "Edit", new { /* id=item.PrimaryKey */}) |
到
@Html.ActionLink("Edit", "Edit", new { id=item.ID }) |
所以现在 URL 直接从 Employee 视图的索引页面获取 id 值。
我正在尝试创建一个编辑操作方法,该方法将 id 作为参数以从数据库中获取员工并允许用户编辑 details.Here 是我的编辑操作代码。
public ActionResult Edit(int id)
{
EmployeeData eData = new EmployeeData();
Employee employee = eData.Employees.Single(x => x.ID == id);
return View(employee);
}
}
这是我的路由器配置
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapMvcAttributeRoutes();
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
我尝试使用属性路由,但仍然无法获得所需的结果result.And我收到此错误消息
参数字典包含 'WebApplication1.Controllers.EmployeeController' 中方法 'System.Web.Mvc.ActionResult Edit(Int32)' 的不可为空类型 'System.Int32' 的参数 'id' 的空条目。可选参数必须是引用类型、可空类型或声明为可选参数。 参数名称:parameters
我只需要在
的索引页面中编辑用于编辑的 Html 辅助操作链接@Html.ActionLink("Edit", "Edit", new { /* id=item.PrimaryKey */}) |
到
@Html.ActionLink("Edit", "Edit", new { id=item.ID }) |
所以现在 URL 直接从 Employee 视图的索引页面获取 id 值。