我在过去一个月左右一直在研究一个大型的MVC应用程序,但这是我第一次需要定义一个自定义的路由处理程序,而且我遇到了一些问题。基本上我有两个参数可以通过。第一个是必需的,第二个是可选的。带有一个必需参数和一个可选参数的ASP.NET MVC路由?
我在关注此问题here。
这里是我的自定义路线:
routes.MapRoute(
"MyRoute",
"{controller}/{action}/{param1}/{param2}",
new {
controller = "MyController",
action = "MyAction",
param1 = "",
param2 = "" // I have also tried "UrlParameter.Optional" here.
}
);
而我的操作方法的签名:
public ActionResult MyAction(string param1, string param2)
如果我尝试的URL http://[myserver]/MyController/MyAction/Test1/Test2
然后它就像我期望它,用参数1 =“测试1 “和param2 =”Test2“
如果我尝试URL http://[myserver]/MyController/MyAction/Test1
那么这两个参数都是空的。
希望有人能告诉我我在这里做错了什么,因为我迷路了。
从未来嗨 - 尝试属性路由现在 - Way路更轻松,不易出错。 – niico