我在另一个网格中动态创建了一个网格。父网格是在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);
提前致谢。
答案 0 :(得分:0)
尝试使用CommandField
作为按钮列而不是TemplateField
。这可能是最简单的解决方案。
我认为当RowUpdating
类似于CommandName
时会触发Update$RowIndex
事件。
答案 1 :(得分:0)
您在哪里添加EventHandlers?请记住,对于动态创建的控件,应在Page_Init / PreInit中添加EventHandler,以便.net查看正在调用的事件。