如何在TemplateField中更改ItemTemplate的Command Text和ImageButton

时间:2012-01-11 13:13:55

标签: c# asp.net c#-4.0 gridview

我有一个包含ImageButton的列。我的数据库字段具有bit数据类型。我希望当我的记录在该列显示True.jpg时具有真正价值且我的命令变为MakeFalse并且当它具有错误值显示False.jpg并且我的命令变为MakeTrue时。我怎么能这样做?是否可以用一个TemplateField

来做到这一点

感谢

2 个答案:

答案 0 :(得分:3)

您可以在TemplateField中添加两个ImageButton,并从bit_field

评估可见
<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>     
</asp:TemplateField>

我不确定你希望你的命令如何配合。

答案 1 :(得分:3)

这是以上Brissles代码的剩余部分

<asp:TemplateField ShowHeader="False">
  <ItemTemplate>
    <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" 
    CommandName="Select" Text='<%#(bool)Eval("bit_field")? "Make False":"Make True" %>'>  
    </asp:LinkButton>
  </ItemTemplate>
 </asp:TemplateField>