图像的奥秘

时间:2013-05-31 20:39:27

标签: c# asp.net asp.net-mvc asp.net-mvc-4

所以我正在开发一个模型视图控制器(MVC)项目。由于规模和复杂性,我正在努力确保组织。我成功地遇到了一个独特的困境,一个让我很难过的困境。我的问题来自于我正在整合到我网站的 Jquery Rotator

我的解决方案资源管理器

  • 内容:此特定文件夹包含三个直接子文件夹 ImagesScriptsStylesheets

这三个子文件夹包含更具体和更精细的细节,例如Scripts包含另一个名为Rotator的文件夹,用于此 jQuery 实现。

所以这个困境发生在 View

视图中的示例:

<div class = "banner-style">
     <div id = "Infinite-Banner">
          <div class = "banner-container">
                <div class = "slides">
                      <img src = "~/Content/Images/Banner/Slides/One.jpg">
                      <img src = "~/Content/Images/Banner/Slides/Two.jpg">
                </div>
          </div>
     </div>
</div>

因此,在此结构中,它似乎不会加载图像。虽然它已正确映射到目录。但是,如果您使用上述相同的结构,但将img部分更改为:

<div class = "slide-one" />
<div class = "slide-two" />

然后在相关的样式表中,只需为其神奇地显示的background: url(~/Content/Images/Banner/Slides/One.jpg);元素定义slide-one即可。

所以这让我相信这是由于嵌套。但是没有多大意义,因为这会迫使我在div slides之间构建一个内部元素,这样我才能产生适当的影响。

另一个想法是创建一个映射所有关系图像数据的model;但这似乎是一项非常多的工作。

这是我的机器特有的限制或问题吗?对这样一个问题最好的解决方法是什么?这确实是由于我带到我的文件夹的结构吗?

1 个答案:

答案 0 :(得分:5)

尝试使用Url.Content方法:

<img src="@Url.Content("~/content/images/banner/slides/one.jpg")" />

您没有发布构建实际URL的内容,但是,我猜测路径错误,因为您正在使用的控制器正在相对路径中使用。