我在控制器MattinaleController中具有以下操作:
public ActionResult Modifica(int id)
{
// manipulate data from repository
return RedirectToAction("Modifica", "Modifica");
}
这是我的路线:
routes.MapRoute(
name: "",
url: "",
defaults: new { controller = "Mattinale", action = "Index" }
);
routes.MapRoute(
name: "",
url: "ModificaComunicazione/{IDArticolazione}",
defaults: new { controller = "Mattinale", action = "Modifica" }
);
routes.MapRoute(
name: "",
url: "{anno}/{mese}/{giorno}",
defaults: new { controller = "Mattinale", action = "Index" }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
当我开始调试并尝试调用路由myHost/ModificaComunicazione/5
(此处为随机数)时,出现此错误(已翻译):
Parameters字典包含非参数'id'的Null值 方法'System.Web.Mvc.ActionResult'的可空类型'System.Int32' 'Mattinale.WebUI.Controllers.MattinaleController'中的Modifica(Int32)'
看起来好像没有参数。我想念什么?!
谢谢戴维。
答案 0 :(得分:1)
只需通过此链接。 Route config doesn't take the parameter。参数名称应与操作中定义的名称相同。
答案 1 :(得分:0)
Davide,是的,您从URL获得了id参数,但没有发送给重定向。您应该将id参数发送到RedirectToAction方法。 检出:RedirectToAction with parameter