pra*_*bug 8 asp.net-mvc webforms asp.net-mvc-routing
最近,我部分转换了Asp.Net Web表单应用程序以使用MVC.我们仍然在Web表单(.aspx页面)中包含应用程序的一部分,并使用MVC路由来使用控制器等.我添加了一条MVC路线
routes.MapRoute("Users", "Users/{controller}/{action}/", new { controller = "Timesheet", action = "List" });
Run Code Online (Sandbox Code Playgroud)
有一个名为"Users"的文件夹,其中包含一些我们仍在使用的aspx页面.当我点击URL时,http://localhost/Users/
我得到了"Users"文件夹内容的目录列表.显然,目录列表优先于MVC URL路由,这可能会通过修改IIS7服务器设置来覆盖.
我怎么能通过代码或web.config更改覆盖此行为?
参考文献:
http://forums.asp.net/t/1251156.aspx/1
http://learn.iis.net/page.aspx/121/iis-7-and-above-modules-overview/
使用这个忽略路由:
routes.IgnoreRoute("{WebPage}.aspx/{*pathInfo}");
Run Code Online (Sandbox Code Playgroud)
列出 RegisterRoutes 方法
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.IgnoreRoute("{WebPage}.aspx/{*pathInfo}");
//routes.MapPageRoute("users", "users", "~/admin/default.aspx");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "home", action = "index", id = UrlParameter.Optional } // Parameter defaults
);
}
Run Code Online (Sandbox Code Playgroud)
这将从路由中排除扩展名为“.aspx”的所有页面。
归档时间: |
|
查看次数: |
1696 次 |
最近记录: |