【问题标题】:ASP - Pick Images of Root Folder into Sub FolderASP - 将根文件夹的图像选择到子文件夹中
【发布时间】:2012-08-23 01:22:42
【问题描述】:

我看过这个页面

HTML - pick images of Root Folder from Sub-Folder

此页面包含 HTML 图像的示例。 我创建了一个 Web 控件,它代表所有网站页面的页脚。现在有些页面直接在根目录中,有些在另一个文件夹中。在网络控件中,我必须修复

所以如果不在 ../ 或 ./ 之间切换,我如何确定网站的根目录,然后在 web 控件中说出类似 root/images/abcd.jpg 的内容?

【问题讨论】:

  • 使用~/ 获取应用程序根目录。
  • 这个 ~/ 在主页(直接在根目录)和文件夹内的页面中都不起作用:(
  • @AzharKhorasany 如果 Oded 的建议对您不起作用是因为您需要通过添加 runat="server" 使 img 标记成为服务器控件。我在回答中解释了这一点。

标签: asp.net html image


【解决方案1】:
var url = HttpContext.Current.Request.Url;
return url.AbsoluteUri.Replace(url.AbsolutePath, "") + "/";

获取根目录。

【讨论】:

  • 它是一个 标签。这段代码如何在 html img 标签中工作?
  • 如果是asp.net,不能在serverside生成路径吗?
  • 可以,但是无法访问.aspx.cs文件中的img id?唯一的其他方法是使用 ImageControl 而不是 。这就是你要我做的吗?
  • runat="server" 供 img 访问它的 ID 服务器端。但是,如果您想要客户端访问,请使用 TheID.ClientID
【解决方案2】:

如果您通过添加runat="server"<img> 标记为服务器控件,则只需执行以下操作,它就会始终正确解析url,而不管用户控件在哪里被引用:

<img id="image" src='<%=ResolveClientUrl("~/images/abc.jpg")' />

ResolveClientUrl 方法会自动解析从应用根目录开始的正确路径(~/)

【讨论】:

  • 这行得通。 " alt="" />.你把我引向了正确的方向,所以我正在标记你的答案。
猜你喜欢
  • 2011-04-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多