其他人遇到过这个问题吗?我一定是做错了什么。
所以我正在为这样的错误设置一条路线:
routes.MapRoute
(
"SharedError",
"Shared/Error/{error}",
new { error = "" }
);
并像这样调用:
return parentController.RedirectToRoute("SharedError", new RouteValueDictionary(new { error = errorMessage.ToString() }));
在控制器上:
public ActionResult Error(String error)
简单吧?好吧,当它实际运行时,尽管 url 看起来像这样,但错误为 null:
/共享/错误/ThisIsTheError
但是Error方法中的error参数为null。(是的,我试过其他词)
现在,如果我用“id”这个词替换所有这些,一切正常。
全球.asax.cs
routes.MapRoute
(
"SharedError",
"Shared/Error/{id}",
new { id = "" }
);
重定向:
return parentController.RedirectToRoute("SharedError", new RouteValueDictionary(new { id = errorMessage.ToString() }));
共享控制器:
public ActionResult Error(String id)
如果您有一个默认路由接受一个值,那么 id 是所有路由都必须有的单词吗?