我在 MVC 中创建了一个系统,使用 NerdDinner 教程作为工作的基础。
一切正常,直到我使用单一动作方法,例如
这是 global.asax.cs
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "mysample", id=UrlParameter.Optional }
);
哪些路线到
http:localhost/Home/mysample
我只想创建具有多个动作的路线
http:localhost/<controller>/<action>/<params>
ex: localhost/mycontroller/myaction/details/myname
非常感谢任何帮助。
谢谢。
更新1:
我把这样的路由器写成
routes.MapRoute(
"myname", // Route name
"{controller}/{action}/{details}/{myname}", // URL with parameters
new { controller = "mycontroller", action = "myaction", details= "details", myname= "" } // Parameter defaults
);
并使用以下语法重试该值
String name=RouteData.Values["myname"].ToString();
它工作正常。
但即使网址称为
localhost/mycontroller/myaction/details
它被路由到该控制器并且错误被作为空引用抛出......
如何避免?