2013-10-18 98 views
0

我想在webforms中使用asp路由。路由asp.net webforms物理文件不被忽略

要路由主頁defaut.aspx

所有其他aspx頁面來cms.aspx

我在全球

 routes.MapPageRoute(//this for home page 
     "Home", 
     string.Empty, 
     "~/Default.aspx" 
    ); 
    routes.MapPageRoute("defaultRoute", "{*value}", "~/cms.aspx");//all other pages 

這部作品在本地主機

作出這一行代碼
http://localhost:36443 //redirect to default.aspx 

http://localhost:36443/page1//redirect to cms.aspx 

問題從這裏開始:

http://localhost:36443/page1/somevalue 

這次路由無法識別物理文件(css js等)並開始將它們路由到cms.aspx。

生產網站

http://mySubDomain.website.com 

問題更是怪異,WCF被路由到cms.aspx。

例如此鏈接:

http://subdomain.website.com/WebServices/webservice.svc/webserviceFunction 

重定向到cms.aspx,而不是無視物理文件SVN。

我嘗試了所有沒有影響那種忽略所有

routes.Ignore("{resource}.svc/{*pathInfo}"); 
routes.Ignore(("{file}.svn")); 
routes.Ignore("{*allcss}", new { allcss = @".*\.css(/.*)?" }); 
routes.Ignore("{*alljpg}", new { alljpg = @".*\.jpg(/.*)?" }); 
routes.Ignore("{*svc}", new { alljs = @".*\.svc(/.*)?" }); 

我認爲微軟TOKE從MVC路由沒有關於它的單因子評分到網絡表單。

有誰知道如何解決這個問題。

感謝

Baaroz

回答

0

可以使用

<script type="text/javascript" src='<%= ResolveUrl("~/path to script ")%>'></script> 

routes.Ignore("{resource}.js/{*pathInfo}"); 

,但你需要寫(「文件夾你們訂貨JS文件/ {名資源}的.js/{*} PATHINFO「); 可以使用它