我得到了一个使用主页(位于此位置"D:\Websites\wwwFlofab\HomeSite\Default\Pages"的Default.aspx))的解决方案,它使用位于此位置"D:\Websites\wwwFlofab\HomeSite\Master\Pages"的母版页(Site.Master)。
当访问我们的网站时,我们使用Default.aspx (不是上面提到的那个)重定向到我的Default.aspx。这样,当我输入我们的url时,它是重定向的,所以我得到的不是"http://www.mywebsite.com",而是类似于"http://www.mywebsite.com/HomeSite/Default/Pages/Default.aspx"的东西
我不喜欢在第一次加载时显示"/HomeSite/Default/Pages/Default.aspx",因此我将IIS7.5默认文档更改为"Default/Pages/Default.aspx"以避免重定向。
它现在可以在第一次加载时正确显示(http://www.mywebsite.com)。
然后我看到了一些我不理解的东西,这就是为什么我在这里发帖的原因:)
在我的母版页中,有许多图像是这样显示的
<img src='~/Styles/images/ASME.png' />更改该IIS默认文档后,所有这些图像(在母版页中)都不会显示(仅在第一次加载时显示)。为了正确显示它们,我需要添加我们的url。
<img src='http://www.mywebsite.com/HomeSite/Styles/images/ASME.png' />为什么我的图像会在手动重定向时正确显示,而不是在从IIS调用时正确显示?
这是相同的页面,相同的文件夹,只是网址改变了。
发布于 2012-09-24 22:18:27
您在图像路径中使用了"~“符号,但没有添加runat="server",因此路径会按原样发送给客户端。
客户端获取您的图像路径并将其与页面地址的url组合在一起,因此"http://www.mywebsite.com/HomeSite/Default/Pages/Default.aspx"和'~/Styles/images/ASME.png'在"http://www.mywebsite.com/HomeSite/Styles/images/ASME.png"中解析,但当地址仅为主机名时,则图像url将导致"http://www.mywebsite.com/Styles/images/ASME.png"。
解决这个问题的方法是将runat="server"添加到图像中,这样服务器就可以在任何情况下解析正确的客户端url。
<img runat="server" src='~/Styles/images/ASME.png' />https://stackoverflow.com/questions/12566338
复制相似问题