Asp.net 图像未显示在页面上
我正在MVC5ASP.net上工作。当我使用razor语法时,图像不会显示在网页上,否则相同的硬编码值也会起作用 这是代码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"; }
@{
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
设置它时,运行时只会将该值替换为普通字符串,而不会解析它。我现在就知道了。谢谢