MVC和路由与强类型视图?

时间:2011-03-20 14:32:46

标签: asp.net asp.net-mvc routing strongly-typed-view

您好,

假设我有一个返回强类型视图的操作。此类型也是操作的参数。要设置当前页码(对于页面上的列表),我需要设置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

1 个答案:

答案 0 :(得分:1)

您知道您定义的路由与asp.net mvc中的默认路由相同吗?这意味着,如果你没有删除默认的路由定义,你的永远不会被击中。

您应该保留默认路由,并创建自定义模型绑定器以将id routeparameter绑定到模型的相应属性。有关详细信息,请参阅this question

否则,还有routedebugger(可从nuget获得),它可以让您更深入地了解您的路线以及它们如何(何时)被击中。