![](/img/trans.png)
[英]How to get the IIS virtual dir & web application's physical paths with C# code?
[英]How to get root directory of Virtual Application or Virtual Dir in IIS7?
我尝试在仅在客户端运行的html中使用标记。
在我的IIS7中,有一个虚拟应用程序称为“ testsite”。 我必须呼叫“ localhost / testsite”才能访问该站点。
假设我在“ testsite / images”中有1张图片,我想从根路径获取图片。
例如:
<img src="/image/image1.jpg" />
但是浏览器中显示的图像路径为“ localhost / image”,应为“ localhost / testsite / image”。 ?
我该怎么办? 如何配置IIS7以使他们将虚拟应用程序视为该网站的根目录?
另外:假设我的HTML位于数据库中,并且其中有很多
<img src=/image/[imagename]>
我通过将其添加到控件的Text属性中来显示此文本,因此它不能在img标签中使用runat =“ server”。
替换我数据库中img标记的src属性并显示在ASP.Net页中的最佳解决方案是什么。
你可以试试:
<img src="<%=Page.ResolveUrl("~")%>/image/image1.jpg" />
(假设您使用的是ASP.NET)
使用~/
指向Web应用程序的根目录。 这仅适用于服务器端控件-因此您需要将图片标签更改为:
<img src="~/image/image.jpg" runat="server" />
或者,只需在属性中输出值:
<img src="<%:Page.ResolveUrl("~/")%>image/image.jpg" />
更新:
由于您是在文字控件中输出的,因此在设置控件的Text
属性时,可以简单地使用Page.ResolveUrl("~/")
,类似于我所展示的替代方法。
如我所见,您正在使用HTML标记,一种更清洁的方法是在页面的头部使用基本标记,因此您无需在每个html标记中重复服务器代码。
<base href="<%= Context.Items["baseURL"] %>" />
,我正在从web.config中读取此内容。
或<base href="<%=Page.ResolveUrl("~")%>" />
现在,您可以简单地使用<img src="/image/image1.jpg" />
我怀疑将网站托管在子目录中时, Page.ResolveUrl("~/")
是否可以工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.