我正在尝试在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
答案 0 :(得分:0)
你可以使用
<script type="text/javascript" src='<%= ResolveUrl("~/path to script ")%>'></script>
或
routes.Ignore("{resource}.js/{*pathInfo}");
但是你需要写(“你所掌握的文件夹的名称/source}。{/}}}}}); 可以使用它