将图像和悬停图像设置为<asp:commandfield buttontype =“Button”... =“”asp =“”>

时间:2015-12-30 14:26:06

标签: c# asp.net gridview commandfield

我有这个

  <asp:CommandField ButtonType="Button" CancelImageUrl="~/img/annulla_grigio.png" EditImageUrl="~/img/modifica_grigio.png"
                                        ShowEditButton="True" UpdateText="" UpdateImageUrl="~/img/salva_grigio.png" ItemStyle-HorizontalAlign="center"
                                        ItemStyle-CssClass="tabella_p_modifica" ControlStyle-CssClass="modifica_hover" EditText=""/>

当我将鼠标悬停在其上时,它会与其他图像一起变化,例如将灰色铅笔变成红色铅笔。但是当我点击编辑按钮时,它会显示两个按钮作为更新和取消。但是使用相同的编辑图像。

Image

1 个答案:

答案 0 :(得分:1)

首先要尝试将ButtonType="Button"切换为ButtonType="Image"。原因是除非您将其设置为图像

,否则不会显示ImageUrl属性

我怀疑您是在CSS类modifica_hover中设置铅笔图像。此类将适用于编辑取消按钮。这可能就是为什么你看到这两个铅笔的原因。

您可能想要尝试的另一种方法是将此字段创建为TemplateField,从而为您提供更多控制权。只需确保为事件传递正确的CommandName即可触发GridView事件。

<asp:TemplateField>
    <ItemTemplate>
        <asp:ImageButton ID="ibEdit" runat="server" CommandName="Edit" ImageUrl="~/img/modifica_grigio.png" />
    </ItemTemplate>
    <EditItemTemplate>
        <asp:ImageButton ID="ibUpdate" runat="server" CommandName="Update" ImageUrl="~/img/salva_grigio.png" />
        <asp:ImageButton ID="ibCancel" runat="server" CommandName="Cancel" ImageUrl="~/img/annulla_grigio.png" />
    </EditItemTemplate>
</asp:TemplateField>