为动态创建的GridView调用RowUpdate方法

时间:2011-11-07 22:11:42

标签: asp.net gridview

我在另一个网格中动态创建了一个网格。父网格是在aspx页面中创建的静态网格,子网格是动态创建的。现在,当用户点击子网格中的“保存”按钮时,我希望触发RowUpdating方法。由于我使用TemplateGridView创建了子网格的列,因此我在TemplateGridView中按如下方式定义了命令名称:

case ListItemType.Footer:
   ImageButton BtnSave = new ImageButton();
   BtnSave.ID = "Btn" + _columnName;
   BtnSave.ImageUrl = "~/Images/saveIcon.jpg";
   BtnSave.CommandName = "Update";
   BtnSave.CausesValidation = true;
   container.Controls.Add(BtnSave);
   break;

此外,称为RowUpdating函数,其中创建了ChildGrid。 也尝试使用RowCommand Argument。但没有奏效。 请有人帮我了解如何为动态创建的网格触发rowUpdate或rowcommand。

NewDg.RowDataBound += new GridViewRowEventHandler(NewDg_RowDataBound);
NewDg.RowUpdating += new GridViewUpdateEventHandler(NewDg_RowUpdating);
NewDg.RowEditing += new GridViewEditEventHandler(NewDg_RowEditing);
NewDg.RowCommand += new GridViewCommandEventHandler(NewDg_RowCommand);

提前致谢。

2 个答案:

答案 0 :(得分:0)

尝试使用CommandField作为按钮列而不是TemplateField。这可能是最简单的解决方案。

我认为当RowUpdating类似于CommandName时会触发Update$RowIndex事件。

答案 1 :(得分:0)

您在哪里添加EventHandlers?请记住,对于动态创建的控件,应在Page_Init / PreInit中添加EventHandler,以便.net查看正在调用的事件。