【问题标题】:Image Pathing and Absolute Paths?图像路径和绝对路径?
【发布时间】:2010-10-11 04:54:33
【问题描述】:

我正在使用 C# 在 ASP .NET MVC 2 中开发一个网站。

我有部分看法,Header.ascx。那里有一张我的网站图片,MainImage.png。

当我使用我创建的主要视图之一时,图像显示良好。例如,我点击了我的 News Controller 的 Index ActionResult。 (site.com/News)

但是,当我深入挖掘时,我似乎失去了我的形象,即使从母版页显示部分视图。即,如果我尝试去site.com/News/Article/1

是否有任何建议可以让我的图像保持完整,例如进行绝对路径的方法?

我目前在部分视图中的代码在这里:

<div align="center"><a href="/"><img src="../Content/images/MainImage.png" style="border:none" /></a></div>

我尝试将 src 更改为 ~/Content/images/MainImage.png,但这会破坏整个网站。

【问题讨论】:

    标签: image asp.net-mvc-2 path


    【解决方案1】:

    使用 Url.Content 辅助方法。

    <img src="<%: Url.Content("~/content/images/imagename.png") %>" />
    

    同样适用于您想要包含 javascript 文件或 css 时

    <link rel="stylesheet" href="<%= Url.Content("~/content/site.css") %>" type="text/css" />
    <script type="text/javascript" src="<%= Url.Content("~/content/scripts.js") %>"></script>
    

    【讨论】:

      【解决方案2】:

      只要有可能,将路径(href 或 src)设置为相对于 Web 服务器根目录的资源文件,例如图像、CSS 和 JS。也就是说,您的网址应以斜杠开头:

      &lt;img src="/images/imagename.png" /&gt;

      该格式保留当前服务器地址(可能是 IP 地址、内部网络地址或任何公共网址)、协议和端口,并且不依赖于页面的明显路径用户正在查看(可能会发生变化,具体取决于用户是通过其规范位置还是通过 URL 重写访问页面)。

      【讨论】:

      • 这实际上让我得到了我需要的东西。谢谢!
      猜你喜欢
      • 2012-01-10
      • 2010-09-15
      • 2013-07-14
      • 2010-12-17
      • 1970-01-01
      • 2011-06-07
      • 2012-10-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多