2013-10-18 50 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“); 可以使用它