gridview动态图像在图像按钮中的变化

时间:2008-10-23 14:14:07

标签: asp.net gridview

我有一个包含来自db的一些数据的gridview,并且在检查之后我想在每行中看到一个小的交叉/刻度图像,这是由于检查的结果。我如何动态地更改图像URL?

3 个答案:

答案 0 :(得分:2)

您可以使用内联语句,如
<%#Eval("check").ToString() == "1" ? "images/checked.gif" : "images/unchceked.gif")%>

或使用函数获取结果如下:

<%# getImageUrl(Eval("value")) %>
Public Function getImageUrl(ByVal value As Integer) As String
   If value = 0 Then
      Return "images/unchceked.gif"
   Else
      Return "mages/checked.gif"
   End If
End Function

答案 1 :(得分:0)

<Columns>
    <asp:TemplateField>
        <ItemTemplate>
            <asp:Image ID="check" runat="server" ImageUrl='<%#If(Eval("check") = 1,"images/checked.gif","images/unchceked.gif") %>' />
        </ItemTemplate>
    </asp:TemplateField>
</Columns>

答案 2 :(得分:0)

形式:

<Columns>
    <asp:TemplateField>
        <ItemTemplate>
            <asp:ImageButton ID="check" runat="server" ImageUrl='<%# GetImageUrl(Eval("Check")) %>' />
        </ItemTemplate>
    </asp:TemplateField>
</Columns>

代码隐藏:

public string GetImageUrl(object checkObject)
{
     if (checkObject!= null)
     {
          bool check;
          bool parsable = bool.Parse(checkObject.ToString(), out check);
          check= parsable ? check : false;

          return check ? "~/Media/Images/tick.png" : "~/Media/Images/untick.png";
     }

     return "~/Media/Images/none.png";
}