Событие GridView RowCommand запускается дважды в UpdatePanel

Я столкнулся со странной проблемой в течение последних 2 дней. Событие rowcommand моего gridview срабатывает дважды при использовании внутри UpdatePanel. Если я использую его вне панели обновления. Он работает так, как ожидалось. Может ли кто-нибудь направить меня, как решить эту проблему.

Мой пример кода ниже: ASPX

<asp:UpdatePanel ID="upDescription2" runat="server" UpdateMode="Conditional">
    <Triggers>
         <asp:AsyncPostBackTrigge`enter code here`r ControlID="ddlDescription1"    EventName="SelectedIndexChanged" />
    </Triggers>
    <ContentTemplate>
         <asp:DropDownList ID="ddlDescription2" runat="server" Width="70%" AutoPostBack="True"                                                                OnSelectedIndexChanged="ddlDescription2_SelectedIndexChanged">
    </asp:DropDownList>
    </ContentTemplate>
</asp:UpdatePanel>


<asp:UpdatePanel ID="upGrdView" runat="server" UpdateMode="Conditional">
       <Triggers>
            <asp:AsyncPostBackTrigger ControlID="ddlDescription2" EventName="SelectedIndexChanged" />
       </Triggers>
             <ContentTemplate>
                   <asp:GridView ID="grdView" runat="server" CssClass="grd" AutoGenerateColumns="False"
                        OnRowCommand="grdView_RowCommand" OnRowDataBound="grdView_RowDataBound">
                        <Columns>
                        <asp:ImageButton ID="btnRemove" runat="server" CommandName="remove"/>
                       Blah Column
                       Blah Column
                       Blah Column
                       Blah Column
                      </Columns>
                   </asp:GridView>
     </ContentTemplate>
</asp:UpdatePanel>

C#:

protected void ddlDescription2_SelectedIndexChanged(object sender, EventArgs e)
{
     BindGrid();
}

protected void grdView_RowCommand(object sender, GridViewCommandEventArgs e)
{
    if (e.CommandName.Equals("Remove"))
    {
        RemoveRow(e.CommandArgument);  
    }
}

С уважением Усман Халид Полезно Бесполезно


person Usman Khalid    schedule 11.09.2012    source источник


Ответы (1)


Я решил проблему. Вместо использования события RowCommand теперь я использую событие Click кнопки ImageButton. Он стреляет только один раз.

person Usman Khalid    schedule 11.09.2012