2009-07-07 49 views
3

这是我的路由表,我在哪里放置各种'.aspx'注册?部署asp.net mvc iis6.0如何更改路由TO包括.aspx

//Turns off the unnecessary file exists check 
this._Routes.RouteExistingFiles = true; 

//Ignore text, html, xml files. 
this._Routes.IgnoreRoute("{file}.txt"); 
this._Routes.IgnoreRoute("{file}.htm"); 
this._Routes.IgnoreRoute("{file}.html"); 
this._Routes.IgnoreRoute("{file}.xml"); 

//Ignore axd files such as assest, image, sitemap etc 
this._Routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 

//Ignore the assets directory which contains images, js, css & html 
this._Routes.IgnoreRoute("Assets/{*pathInfo}"); 

//Ignore the error directory which contains error pages 
this._Routes.IgnoreRoute("ErrorPages/{*pathInfo}"); 

//Exclude favicon (google toolbar request gif file as fav icon) 
this._Routes.IgnoreRoute("{*favicon}", new { favicon = @"(.*/)?favicon.([iI][cC][oO]|[gG][iI][fF])(/.*)?" }); 

//Photo routes 
this._Routes.MapRoute("PhotoAssets", "Photos/Photo/{photoId}/Size/{photoSizeClassificationId}", MVC.Photo.Photo(0, null)); 

//Handles department profile routes 
this._Routes.MapRoute("WorkerProfileLeader", "Department/{departmentId}/Worker/Profile/Leader/List/{viewType}", MVC.WorkerProfile.List(PersonType.Leader, "", DisplayViewType.SummaryThumbnailList)); 
this._Routes.MapRoute("WorkerProfile", "Department/{departmentId}/Worker/Profile/{personType}/List/{viewType}", MVC.WorkerProfile.List(PersonType.Pleb, "", DisplayViewType.ThumbnailGrid)); 
this._Routes.MapRoute("WorkerProfilePerson", "Department/{departmentId}/Worker/Profile/{personType}/Detail/{personId}", MVC.WorkerProfile.Detail(PersonType.Pleb, "", "")); 

//Default route mapping 
this._Routes.MapRoute("Start", "Default.aspx", MVC.Home.Index()); 
this._Routes.MapRoute("Default", "{controller}/{action}", MVC.Home.Index()); 

干杯 安东尼

+0

你不需要通配符设置吗?如phil haack所述 – DevelopingChris 2009-07-07 04:53:45

回答

1

只需确保第一部分或URL与的.aspx像结束:

this._Routes.MapRoute("WorkerProfileLeader", "Department.aspx/{departmentId}/Worker/Profile/Leader/List/{viewType}", ... 
this._Routes.MapRoute("Default", "{controller}.aspx/{action}", MVC.Home.Index()); 
+0

干杯这就是我想知道 – 2009-07-07 07:08:57

0

我敢肯定它其实并不重要其中在URL中.aspx只要它在某处,并且是第一件看起来是文件扩展名的东西。实际上,我看到的一个技巧是将.aspx放在包含应用程序的文件夹名称中!换句话说,即使这只是一个文件夹,应用程序名称本身也是“myapp.aspx”。

只要.aspx作为路径中的第一个文件扩展名出现,IIS将使用该文件扩展名来处理请求。

+0

欢呼声我不知道... – 2009-07-07 23:14:00