路由asp.net webforms物理文件不被忽略

时间:2013-10-18 10:30:42

标签: asp.net webforms routing

我正在尝试在webforms中使用asp路由。

想要将主页路由到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

这适用于localhost

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(/.*)?" }); 

我认为微软要求从mvc到webform的路由,而不是单独考虑它。

有谁知道如何解决这个问题。

由于

Baaroz

1 个答案:

答案 0 :(得分:0)

你可以使用

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

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

但是你需要写(“你所掌握的文件夹的名称/source}。{/}}}}}); 可以使用它