如何忽略“”之后的所有字符;控制器/动作”;在ASP.NET MVC路由
本文关键字:动作 NET 路由 MVC 控制器 ASP 字符 何忽略 之后 | 更新日期: 2023-09-27 17:58:41
我想要我的ASP。NET MVC4应用程序仅为特定页面提供基本HTML标记,之后我将使用knockout.js/history.js/AAJAX处理客户端上的所有其他内容,包括初始页面加载。
因此,当有人引用URL http://example.com/products/list/food/fruits
时,MVC路由器应该简单地忽略"products/list"后面的所有内容,并将请求路由到ProductsController
和List
操作。然后在客户端,我将处理其余部分并相应地加载请求的数据。
我在玩路线定义,我试图完全跳过"products/list"路线,我还试图添加"products/list/*"路线,但还没有成功。
您可以使用星号作为路由中最后一个变量的一部分。例如,在配置路线时:
routes.MapRoute(
"ProductRoute",
"products/list/{*otherArgs}",
new { controller = "Products", action = "List" });
您可以在MSDN的文档中的"处理URL模式中的可变段数"一节中了解更多关于路由的信息
您需要创建自己的路由。
像这样的东西应该可以做到:
routes.MapRoute("Products", "Products/{List}",
new {controller = "Products", action = "List"}
);
注意:我不确定路线中是否需要其他参数。