Asp.net 图像未显示在页面上

Asp.net 图像未显示在页面上,asp.net,asp.net-mvc,razor,model-view-controller,Asp.net,Asp.net Mvc,Razor,Model View Controller,我正在MVC5ASP.net上工作。当我使用razor语法时,图像不会显示在网页上,否则相同的硬编码值也会起作用 这是代码 @{ var path = ""; } @foreach (Movy a in Model) { if (a.Image == null) { path = "~/Content/images/c3.jpg"; }

我正在MVC5ASP.net上工作。当我使用razor语法时,图像不会显示在网页上,否则相同的硬编码值也会起作用

这是代码

    @{
       var path = "";
    }
    @foreach (Movy a in Model)
    {
            if (a.Image == null)
            {
                path = "~/Content/images/c3.jpg";
            }
            else
            {
                path = a.Image;
            }
        <img src="@path" />
    }
@{
var路径=”;
}
@foreach(模型中的Movy a)
{
如果(a.Image==null)
{
path=“~/Content/images/c3.jpg”;
}
其他的
{
路径=a.图像;
}
}

但是,当我在图像源中将@path替换为“~/Content/images/c3.jpg”时,它可以工作。

您需要在运行时解析字符串。使用
Url.Content

试试这个:

  <img src= "@Url.Content(path)" alt="Image" />


当您使用
@path
时,标记中会输出什么?我已从浏览器中检查了页面源。。。它显示的是相同的值,即“~/Content/images/c3.jpg”,谢谢。成功了。我到处找,但没有找到这个。你能解释一下为什么它没有读@path吗?@UsamaSaleem当你像
“~/Content/images/c3.jpg”
那样硬编码路径时,它会工作,因为运行时会解决它。。但是,当您使用
@path
设置它时,运行时只会将该值替换为普通字符串,而不会解析它。我现在就知道了。谢谢