首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >第一次调用IIS默认文档时在母版页中显示图像

第一次调用IIS默认文档时在母版页中显示图像
EN

Stack Overflow用户
提问于 2012-09-24 21:44:02
回答 1查看 1.1K关注 0票数 0

我得到了一个使用主页(位于此位置"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)。

然后我看到了一些我不理解的东西,这就是为什么我在这里发帖的原因:)

在我的母版页中,有许多图像是这样显示的

代码语言:javascript
复制
<img src='~/Styles/images/ASME.png' />

更改该IIS默认文档后,所有这些图像(在母版页中)都不会显示(仅在第一次加载时显示)。为了正确显示它们,我需要添加我们的url。

代码语言:javascript
复制
<img src='http://www.mywebsite.com/HomeSite/Styles/images/ASME.png' />

为什么我的图像会在手动重定向时正确显示,而不是在从IIS调用时正确显示?

这是相同的页面,相同的文件夹,只是网址改变了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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。

代码语言:javascript
复制
<img runat="server" src='~/Styles/images/ASME.png' />
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12566338

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档