使用Url.WebForms页面中的内容不能正确地解析波浪



所以很久很久以前,我们将MVC 1.0添加到现有的ASP中。NET 2.0 WebForms网站,在升级期间,我们让MVC的UrlHelper对我们现有的WebForms代码可用。这意味着在我们的WebForms代码中,我们可以做这样的事情:

<%= Url.Content("~/this/is/nice") %>

输出Url

mysite.com/this/is/nice

很好,工作得很好。

快进到最近的时间,我们希望将我们的应用程序移动到一个新的主机(新服务器),上面的功能现在行为不正常,现在:

<%= Url.Content("~/this/is/nice") %>

现在输出

mysite.com/webforms/location/this/is/nice

就好像物理位置是应用程序的根一样——我不知道为什么,并且在我的开发机器上重新创建它失败了。

有人知道这可能是什么原因吗?在过去的几天里,我一直被这个问题困住了,几乎无计可施。我现在唯一的希望是,这个问题发生在我同事的环境中,所以我们绝对可以重建这个问题。

更新:这并不是发生在所有的WebForms页面-只是某些特定的和唯一不同的特点,我注意到目前为止,它发生在一个页面,一些Url重写正在进行

我会从使用MVC方法切换:

<%= Url.Content("~/this/is/nice") %>

到做同样事情的Web Forms方法之一:

<%#ResolveClientUrl("~/this/is/nice")%>
<%#ResolveUrl("~/this/is/nice")%>

ResolveUrl返回一个相对于站点根的路径,而ResolveClientUrl返回一个相对于当前页面的路径。

相关内容

  • 没有找到相关文章

最新更新