单击ButtonField时Gridview RowCommand不会触发

时间:2016-08-05 21:51:26

标签: c# asp.net gridview

火狐

点击buttonField时,我会检查OnRowCommand,我发现commandName等于“Activar”,这是正确的。

Chrome& IE

单击该按钮时,commandName等于“选择”,这是不正确的。

我在SelectedIndexChanged的第一行也有一个断点,在FF上没有点击,在Ch和IE上它确实命中,这意味着按钮点击事件没有触发

我正在运行

  • VS12(最新版本中也会出现问题)
  • .NET framework 4.0

GridView的

<asp:GridView ID="gvNombreEmp" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource10" 
                style="margin-left:auto; margin-right:auto; width:100%" CssClass ="table"
                AllowPaging="True" AllowSorting="True"  BackColor="LightGoldenrodYellow" BorderColor="Tan" BorderWidth="1px"
                CellPadding="2" ForeColor="Black" GridLines="None" OnRowDataBound ="gvNombreEmp_RowDataBound"
                  OnDataBound ="gvNombreEmp_DataBound" OnSelectedIndexChanged ="gvNombreEmp_SelectedIndexChanged" 
                OnPageIndexChanging ="gvNombreEmp_PageIndexChanging" OnRowCommand ="gvNombreEmp_RowCommand">
                <AlternatingRowStyle BackColor="PaleGoldenrod" />

                <Columns>

                     <asp:BoundField DataField="NumeroControl" HeaderText="Número Control" >
                     <HeaderStyle Font-Size="13pt" />
                     <ItemStyle Font-Size="12pt" />
                    </asp:BoundField>

                    <asp:BoundField DataField="NombreEmpresa" HeaderText="Nombre Empresa" >
                     <HeaderStyle Font-Size="13pt" />
                     <ItemStyle Font-Size="12pt" />
                    </asp:BoundField>

                    <asp:BoundField DataField="FC" HeaderText="Fecha Comienzo" >
                     <HeaderStyle Font-Size="13pt" />
                     <ItemStyle Font-Size="12pt" />
                    </asp:BoundField>

                    <asp:BoundField DataField="FE" HeaderText="Fecha Expiración" >
                     <HeaderStyle Font-Size="13pt" />
                     <ItemStyle Font-Size="12pt" />
                    </asp:BoundField>

                    <asp:BoundField DataField="EST" HeaderText="Estatus" >
                     <HeaderStyle Font-Size="13pt" />
                     <ItemStyle Font-Size="12pt" />
                    </asp:BoundField>

                    <asp:ButtonField  CommandName ="Activar" ButtonType="Button" Text ="Desactivar" />

                </Columns>

                <FooterStyle BackColor="Tan" />
                <HeaderStyle BackColor="Tan" Font-Bold="True" />
                <PagerStyle BackColor="Tan" Font-Size ="Large" ForeColor="DarkSlateBlue" Font-Bold ="true"/>
                <SelectedRowStyle BackColor="DarkSlateBlue" ForeColor="GhostWhite" />
                <SortedAscendingCellStyle BackColor="#FAFAE7" />
                <SortedAscendingHeaderStyle BackColor="#DAC09E" />
                <SortedDescendingCellStyle BackColor="#E1DB9C" />
                <SortedDescendingHeaderStyle BackColor="#C2A47B" />
            </asp:GridView>

RowCommand

switch(e.CommandName)
{
    case "Activar":

    break;
}

1 个答案:

答案 0 :(得分:0)

管理让它适用于Chrome,但现在它不适用于FF或IE。但这是可以接受的,因为我的客户只使用Chrome。

我所做的是删除ButtonType属性CommandName等于&#34; Activar&#34;。我必须确保如果我需要将其实例化为变量,我必须确保将其转换为LinkButton而不是常规Button