【发布时间】:2017-11-24 13:29:03
【问题描述】:
我有很多图像要显示,因此我使用动态局部视图来减少不必要的代码。这是我的部分观点:
@{ string[] imgs = {
"src='~/Content/images/1.png'",
"src='~/Content/images/2.png'",
"src='~/Content/images/3.png'"
};
@foreach (var img in imgs) { *HTML GOES HERE* }
foreach 循环内的 HTML:
<div class="thumbnail-border">
<img id="modalImage" class="thumbnail-lg" @Html.Raw(img) />
</div>
奇怪的是,如果我把“src”换成“alt”,alt 就起作用了。但是将 src 的变量作为图像路径不起作用。所以我的问题是: 如果我想使用 foreach 循环遍历字符串数组(图像路径)以用于 my ,我该怎么做?
【问题讨论】:
-
为了澄清一下,顺便说一下,图像路径确实有效。我事先只使用 src="" 属性中的图像路径字符串进行了尝试。
-
定义“不起作用”。它做什么?这里生成的客户端 HTML 是什么?如果客户端代码在路径中包含
~,那么这肯定不会“工作”,因为该路径对浏览器没有任何意义。您需要先将其转换为客户端可用的路径,使用类似Server.MapPath()的内容。 -
工作正常(显示我的图像)。但是使用@Html.Raw(img) 只显示常见错误图像(左上角带有破碎小方块的空白图像)
-
我只是认为使用变量将完全相同的文本字符串插入
标签 应该 工作。但事实并非如此,我想知道为什么
-
那是浏览器中实际的客户端 HTML 吗?还是您在 Visual Studio 中放入的代码?查看浏览器中的实际内容。我怀疑该框架正在取代该路径。但是在以您尝试的方式构建时不会替换它,因此您可能需要手动替换它。
标签: c# html asp.net-mvc-4 razor