使用内联样式在MVC中显示图像的建议

时间:2017-07-17 21:28:53

标签: model-view-controller view inline

我是MVC的新手,所以请原谅我!我有以下几行 Views / Home / Index.cshtml文件:

<div class="grid-content" style="background-image: url('~/Content/pics/mypic.jpg');">

(_Layout.cshtml使用标准的RenderBody()调用渲染它。)

但它不会显示图片。如果我用一个完整的合格路径替换路径到互联网图片,它将工作。它不适用于上述语法。

在我看来,它可能与单/双引号的多种用途有关,也许。

有没有办法让它起作用?我还没有学会如何使用Url.Content或其他一些辅助方法。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

您传递的url()是来自您的网络服务器的资源路径,相对于调用页面或绝对URL。

您提供的示例看起来像文件系统路径,而不是您的Web服务器理解的URL,这就是“互联网图像”的完全限定URL工作的原因。

您的文档存储在Views/Home/Index.cshtml中。如果图像存储在同一文件夹中,则只需将其更改为url('mypic.jpg')即可。如果没有,请相应调整。

将路径从~/Content/pics/mypic.jpg更改为与您所服务的文档相关的内容。例如,如果是HTML

(是的,网址可以包含波浪号,但通常它们会指定“以下是系统用户名”,例如/~Coreysan/Content/pics/mypic.jpg,它会指示您的网络服务器找到您的~/<whatever your web server folder is>/Content/...资源。