我的简单MVC应用程序中有两个页面,其中有两个已定义的路径:
routes.MapRoute(
"Results", // Route name
"Results/{id}", // URL with parameters
new { controller = "Results", action = "Index",
id = "" } // Parameter defaults
);
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Main", action = "Index",
id = UrlParameter.Optional } // Parameter defaults
);
我需要仅使用产品ID加载结果页面,例如:[MyDomain ....] / Results / 12345。但是主页面使用这条路径对结果控制器进行POST(使用JQuery)进行更新:[MyDomain ....] / Main / Update以及数据包。当我只有“默认”路线时,这很好用。但是当我添加其他“结果”路由时,所有要更新的POST调用都失败了。什么想法我做错了???
非常感谢。
答案 0 :(得分:0)
我没有尝试过,但应该完成你需要的东西。不确定是否有“更好”的方法来实现它。
routes.MapRoute(
"Results", // Route name
"Results/{id}", // URL with parameters
new { controller = "Results", action = "Index", id = "" } // Parameter defaults
new { id = @"\d+" } // regex for id param - id must be a number
);
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Main", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);