Full postback triggered by LinkButton inside GridView inside UpdatePanel

前端 未结 8 860
余生分开走
余生分开走 2020-12-02 13:22

I have a GridView inside of a UpdatePanel. In a template field is a button I use for marking items. Functionally, this works fine, but the button always triggers a full page

8条回答
  •  刺人心
    刺人心 (楼主)
    2020-12-02 14:00

    You need to register each controls for each RowState. 1: Register your controls for RowState = Alternate and Normal) 2: Register your controls for RowState = Edit 3: ...

    ASPX:

    
                    
                        
                    
                    
                        
                    
                
    

    Code behind :

    protected void GridView_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow 
            && (e.Row.RowState == DataControlRowState.Normal 
                || e.Row.RowState == DataControlRowState.Alternate))
        {
            LinkButton Btn1 = e.Row.FindControl("Btn1 ") as LinkButton; 
            ScriptManager.GetCurrent(this.Parent.Page).RegisterAsyncPostBackControl(Btn1 );
        }
        if (e.Row.RowType == DataControlRowType.DataRow 
            && e.Row.RowState == DataControlRowState.Edit)
        {
            LinkButton Btn2 = e.Row.FindControl("Btn2 ") as LinkButton;
            ScriptManager.GetCurrent(this.Parent.Page).RegisterAsyncPostBackControl(Btn2 );      
        }
    }
    

提交回复
热议问题