ASP.NET GridView 编辑模板和查找控件

4
在GridView中,我们使用了编辑按钮。一旦点击编辑按钮,编辑模板中的控件将在同一行中显示更新按钮。该行有两个下拉列表控件。
流程:
控件:d1和d2
d1使用sqldatasource来显示项目:运作良好。
d2使用codebehind代码根据d1中选择的值加载项目:不工作。
如何找到编辑模板中的控件以显示d2的项目值?
2个回答

7

我已经得到了答案。

protected void GridView1_PreRender(object sender, EventArgs e)
 {
  if (this.GridView1.EditIndex != -1)
   {
     Button b = GridView1.Rows[GridView1.EditIndex].FindControl("Button1") as Button;
     if (b != null)
      {
      //do something
      }
   }
 }

3

当您切换到编辑模式时,需要重新绑定网格以使其生效。

因此,您可以使用“RowDataBound”事件。

  void MyGridView_RowDataBound(Object sender, GridViewRowEventArgs e)
  {
    if(e.Row.RowType == DataControlRowType.DataRow
            && e.Row.RowIndex == MyGridView.EditIndex)
    {
      DropDownList d1 = e.Row.FindControl("d1") as DropDownList;
      if(d1 == null) return;
      //Now you have the drop down. Use it as you wish.
    }
  }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接