根据Type属性显示我想要更改项目图像的项目列表。 这是代码:
<img src="<%if (item.VolumeType == 1)
Url.Content(String.Format("../../Images/DVDDisk.png"));
else
Url.Content(String.Format("../../Images/harddisk.png")); %>" height="32" width="32" />
但是显示任何图像是因为检查了我找到的html:
<img src="" height="32" width="32">
怎么了? 我还没有理解将ASPX与MVC引擎一起使用是否有效,或者它是不正确的做法并且是最好的Razor。
谢谢!
答案 0 :(得分:0)
您需要使用条件运算符(?:
)而不是内联if
和内联表达式块(<%=
)而不是内联代码块(<%
)。以下内容应该符合您的要求:
<img src="<%= item.VolumeType == 1 ?
Url.Content(String.Format("../../Images/DVDDisk.png")) :
Url.Content(String.Format("../../Images/harddisk.png")) %>" height="32" width="32" />
对于它的价值,您可以通过删除string.Format
来电(因为它们不是必需的)或使用string.Format
来ptu文件来简化上述操作删除重复Url.Content
调用的名称:
<img src="<%= Url.Content(String.Format("../../Images/{0}.png", item.VolumeType == 1 ? "DVDDisk" : "harddisk")) %>" height="32" width="32" />