我有两张图片progress.png和completed.png。根据db表中的状态(In Complete of Complete),我想显示适当的图像。 asp.net中IIF()语句的正确语法是什么?谢谢你的帮助。
pseudocode:
<asp:image ImageUrl='<%# IIF(Eval("Status").Equals("In Progress")
display - 'images/progress.png')
else if status equals "Complete"
display - 'images/complete.png' %>' />
答案 0 :(得分:1)
我知道这不会回答你关于IIF语法的问题,但会解决你关于显示图像的问题。
我宁愿使用它:
<asp:image ImageUrl='<%# GetStatusImage(Eval("Status").ToString()) %>' />
并在代码隐藏中编写以下方法。
public string GetStatusImage(string status)
{
switch(status)
case "In Progress":
return "images/progress.png";
break;
case "Complete":
return "images/complete.png";
break;
case default:
return string.Empty;
break;
}
答案 1 :(得分:0)
最好的办法是创建一个公共方法,它将返回正确的图像并从代码中调用方法,如下所示:
<%= GetProgressImage() %>
或者,如果您只有两种状态,这可能会有效:
<%= Eval("Status").Equals("Complete") ? "'images/complete.png'" : "'images/progress.png'" %>