C# 方法在GridView页面更改时未触发

C# 方法在GridView页面更改时未触发,c#,asp.net,gridview,C#,Asp.net,Gridview,我有一个方法,分配gridview中项目模板内部的按钮文本。该方法在Page_PreRender或Page_Load中启动良好,但一旦有人通过内置分页链接更改页面,生成的页面不会将文本分配给按钮。我在PageIndexChanged和PageIndexChanging事件中调用了该方法,但仍然得到了空白按钮。是否有一个事件我可以将其放入其中,当gridview页面索引更改时,它将运行 受保护的void populateActivationText { allItemGrid.Rows中的fore

我有一个方法,分配gridview中项目模板内部的按钮文本。该方法在Page_PreRender或Page_Load中启动良好,但一旦有人通过内置分页链接更改页面,生成的页面不会将文本分配给按钮。我在PageIndexChanged和PageIndexChanging事件中调用了该方法,但仍然得到了空白按钮。是否有一个事件我可以将其放入其中,当gridview页面索引更改时,它将运行

受保护的void populateActivationText { allItemGrid.Rows中的foreach GridViewRow行 { System.Web.UI.WebControls.Button activationButtonAll=row.FindControlactivationButtonAll作为System.Web.UI.WebControls.Button; System.Web.UI.WebControls.CheckBox activeCheckAll=row.Cells[7]。控件[0]为System.Web.UI.WebControls.CheckBox; 如果activeCheckAll.Checked { activationButtonAll.Text=停用; } 其他的 { activationButtonAll.Text=激活; } } searchGrid.Rows中的foreach GridViewRow行 { System.Web.UI.WebControls.Button activationButtonSearch=row.FindControlactivationButtonSearch为System.Web.UI.WebControls.Button; System.Web.UI.WebControls.CheckBox activeCheckSearch=row.Cells[7]。控件[0]为System.Web.UI.WebControls.CheckBox; 如果activeCheckSearch.Checked { activationButtonSearch.Text=停用; } 其他的 { activationButtonSearch.Text=激活; } } }
试试这样的。设置新页面的PageIndex并进行数据绑定,然后尝试调用设置按钮文本的方法

 protected void allItemGrid_PageIndexChanged(object sender, EventArgs e)
 { 
      allItemGrid.PageIndex = e.NewPageIndex;
      allItemGrid.DataBind();
      populateActivationText();
 }

我通过在gridview的数据绑定事件中调用populateActivationText实现了这一点。我不认为这是最好的方法,但它的工作正如预期的现在

protected void allItemGrid_DataBound(object sender, EventArgs e)
        {
            populateActivationText();
        }

你能发布PageIndexchange和PageIndexchange的代码吗?受保护的void allItemGrid\u PageIndexChangedobject发送者,EventArgs e{populateActivationText;}让我们看看你的页面预呈现和页面加载是什么样子。请注意,Page_PreRender在PageIndexChanged和PageIndexchange之后激发。让我们看看你的页面_prerenderCodeEvent arguments{populateActivatonText;}-我通过在gridview的DataBound事件中调用populateActivationText实现了这一点,我不知道这是否是正确的方法,但它按照预期工作。不幸的是,这不起作用,我在以前的尝试中尝试重新绑定gridview,但没有任何结果。NewPageIndex是PageIndexChanged事件的属性。谢谢你的帮助,如果我没有得到任何关于如何用C来做这件事的建议,我想我可以用.js来写,看起来这真的不应该是个谜。