我尝试在IIS6服务器上运行的asp.net 4.0站点上配置路由。 我正在使用MapPageRoute,它将我带到正确的页面。到目前为止我遇到的问题:
1)无扩展网址路由
2)静态内容,如js,css和图像不显示
使用Chris Cavanagh的baseUrl技术解决了这里所描述的chriscavanagh.wordpress.com/2008/11/06/aspnet-routing-just-enough-rope /
2)相对网址和回发场景
没有解决。由于某种原因,相对路径未被正确解释。例如。 asp:ImageButton runat =“server”ImageUrl =“〜/ images / tree.jpg”渲染为和img一起使用src =“”。我已经能够通过将ImageUrl设置为绝对路径来强制它工作,但我无法为所有事情做到这一点。它也影响了回发场景。按钮点击将我带到(例如)localhost / website / articles / the-article_description /到localhost / website / the-article-description,这是不存在的。
任何人都可以帮我解决这个问题吗?
答案 0 :(得分:0)
您是否将RouteExistingFiles属性设置为true?
答案 1 :(得分:0)
对于像#3这样的情况,我一直在那里放置一个函数,它返回一个字符串,用作生产站点的前缀URL。所以对于你所拥有的这个部分:
mageUrl="~/images/tree.jpg"
将其调整为:
mageUrl="<%= [YourNameSpace].AppMethod.IsProd() %>/images/tree.jpg"
'AppMethod'是一些静态类,如果应用程序在生产中运行,则IsProd()函数返回指定生产路径所需的前缀。否则,如果应用程序在dev中运行,则前缀为“〜”。您可以通过读取计算机名称来确定应用程序是否在生产中运行。