C# 如何基于gridview中字段的值设置ImageUrl

C# 如何基于gridview中字段的值设置ImageUrl,c#,asp.net,C#,Asp.net,我有下面一行代码,它计算值是真还是假,如果为真,它将显示一个图像,如果为假,它将显示另一个图像 <itemTemplate> <img alt="" id="Img1" src='<%# MyAdmin.GetCheckMark((bool)DataBinder.Eval(Container.DataItem, "ShowImg"))%>' runat="server" /></ItemTemplate> 然后我想在每一行的GridVie

我有下面一行代码,它计算值是真还是假,如果为真,它将显示一个图像,如果为假,它将显示另一个图像

<itemTemplate>
<img alt="" id="Img1" 
 src='<%# MyAdmin.GetCheckMark((bool)DataBinder.Eval(Container.DataItem, "ShowImg"))%>' 
 runat="server" /></ItemTemplate>
然后我想在每一行的GridView中使用ImgFlag而不是ShowImg,这样ImgFlag将决定显示哪个标志

还是有更好的办法

问题是评估现在取决于两件事。。不像以前那样了


谢谢

Eval实际上返回了一个属性,因此您可以为不同的属性调用它两次

有点

MyAdmin.GetCheckMark2((bool)DataBinder.Eval(Container.DataItem, "ShowImg"),
         (bool)DataBinder.Eval(Container.DataItem, "SomethingElse"));
可能会有帮助

这就成功了

<asp:TemplateField ShowHeader="False">
<ItemTemplate>
   <asp:Image runat="server" ImageUrlt='<%#(bool)Eval("bit_field")? "first.jpg":"second.jpg" %>'>  
  </asp:Image>
</ItemTemplate>



但我如何调节它呢。。就像我需要展示来检查它是否是假的,是否有些东西是真的,反之亦然
<asp:TemplateField ShowHeader="False">
<ItemTemplate>
   <asp:Image runat="server" ImageUrlt='<%#(bool)Eval("bit_field")? "first.jpg":"second.jpg" %>'>  
  </asp:Image>
</ItemTemplate>
<asp:TemplateField HeaderText="YourField">
<ItemTemplate>
    <asp:ImageButton runat="server" ImageUrl="True.jpg" Visible='<%# (bool)Eval("bit_field") %>' />
    <asp:ImageButton runat="server" ImageUrl="False.jpg" Visible='<%# !(bool)Eval("bit_field") %>' />
</ItemTemplate>