您好,
假设我有一个返回强类型视图的操作。此类型也是操作的参数。要设置当前页码(对于页面上的列表),我需要设置Model.ALS.P(我们的强类型)。
当向servier发送请求时,quarystring myComputer.com/MyController/MyAction?ALS.P=2会将传入对象上的ALS.P设置为2。
如果我想将其转换为以下网址:myComputer.com/MyController/MyAction/2路线如何显示?
我试过这个:
routes.MapRoute(
"List", // Route name
"{controller}/{action}/{ALS_P}", // URL with parameters
new { controller = "Ad", action = "List", ALS_P = 0 } // Parameter defaults
);
但是这不起作用,它不会接受ALS.P作为参数名称。
BestRegards
答案 0 :(得分:1)
您知道您定义的路由与asp.net mvc中的默认路由相同吗?这意味着,如果你没有删除默认的路由定义,你的永远不会被击中。
您应该保留默认路由,并创建自定义模型绑定器以将id routeparameter绑定到模型的相应属性。有关详细信息,请参阅this question。
否则,还有routedebugger(可从nuget获得),它可以让您更深入地了解您的路线以及它们如何(何时)被击中。