Razor .cshtml视图文件中的图像文件路径

时间:2016-08-02 17:12:34

标签: asp.net-mvc razor asp.net-core-1.0

在我创建的网站中,我尝试将上传图片的网址存储到我的模型中并在视图中调用它。因此,当我在HTML的源代码中输入文件路径时,它可以正常工作。

<dd><img src="~/uploads/image.jpg" alt="ASP.NET" style="width:350px;height:260px" />
    </dd>

但是如果我尝试从模型中调用,则URL会搞砸。

@string imagePath = "~/uploads/" + Model.Picture;

 <dd><img src=@imagePath alt="ASP.NET" style="width:350px;height:260px" />
    </dd>

该代码链接到&#34; http://localhost:60847/Controller/Details/~/uploads/image.jpg&#34; 。有人可以向我解释为什么它的工作方式不同吗?谢谢。

1 个答案:

答案 0 :(得分:3)

您在src属性值周围缺少引号。还要确保使用Url.Content辅助方法来获取正确的路径。您可以将"~"传递给此方法,以获取应用根目录的正确路径。

@{ string imagePath = Url.Content("~/uploads/" + Model.Picture); };
<img src="@imagePath" alt="ASP.NET" style="width:350px;height:260px" />

即使是没有变量的单个班轮

<img src="@Url.Content("~/uploads/" + Model.Picture)"  />