我有以下路线
routes.MapRoute(
"Segnalazioni_CercaSegnalazioni",
"Segnalazioni/CercaSegnalazioni/{flag}",
new { controller = "Segnalazioni", action = "CercaSegnalazioni", flag = 7 }
);
映射到Segnalazioni控制器类的以下方法:
public ActionResult CercaSegnalazioni(int flag)
{
ViewData["collezioneSegnalazioni"] = Models.Segnalazioni.Recupera(flag);
System.Xml.Linq.XElement x = (System.Xml.Linq.XElement)ViewData["collezioneSegnalazioni"];
return View("Index");
}
为什么链接http://localhost:1387/Segnalazioni/CercaSegnalazioni/1
会给我错误
The parameters dictionary contains a null entry for parameter 'flag' of non-nullable type 'System.Int32' for method 'System.Web.Mvc.ActionResult CercaSegnalazioni(Int32)' in 'RecuperoPagatiMvc.Controllers.SegnalazioniController'. To make a parameter optional its type should be either a reference type or a Nullable type.
Nome parametro: parameters
答案 0 :(得分:1)
发布所有路线。听起来您的URL由与此不同的路由处理。请记住,列出路线的顺序很重要。因此,如果您在此URL可以映射到的此路径之前有另一条路线,那么它将会。
答案 1 :(得分:0)
MvcContrib包含路由调试器。使用它,您将看到为此URL调用的路由。 Here是如何启用它的一些说明