在HyperLink标记中设置ImageUrl的条件

时间:2016-01-18 10:36:47

标签: c# gridview hyperlink imageurl

我需要在尊重确定的条件时在GridView个不同的图标中显示。

这些条件在字段上是相对的:

1) SendEmail; 
2) SendData.

如果SendEmailSendData为空或空,我需要显示图片email-grey.gif

如果SendEmail不为空且SendData为空,我需要显示图片email-orange.gif

如果SendData不为空,我需要显示图片email-open-grey.gif

我尝试过这个解决方案但没有成功,

ImageUrl='<%#(String.IsNullOrEmpty("SendEmail") ? String.IsNullOrEmpty("SendData") ? "/Images/Mini_Pixel_Icons/email-grey.gif" : "/Images/Mini_Pixel_Icons/email-open-grey.gif" : String.IsNullOrEmpty("SendData") ? "/Images/Mini_Pixel_Icons/email-open-orange.gif" : "/Images/Mini_Pixel_Icons/email-open-grey.gif")%>'

因为它们处于条件的所有行:

/Images/Mini_Pixel_Icons/email-open-grey.gif

请帮帮我,谢谢你。

1 个答案:

答案 0 :(得分:0)

试试这个:

ImageUrl='<%# String.Format("{0}",
(String.IsNullOrEmpty(Eval("SendEmail").ToString()) &
String.IsNullOrEmpty(Eval("SendData").ToString())) ? "email-grey.gif" : 
(!String.IsNullOrEmpty(Eval("SendEmail").ToString()) & 
String.IsNullOrEmpty(Eval("SendData").ToString()) ) ? "email-orange.gif" :
(!String.IsNullOrEmpty(Eval("SendData").ToString())) ? "email-open-grey.gif" : 
"")%>'