向新的事件处理程序添加参数
本文关键字:添加 参数 程序 事件处理 | 更新日期: 2023-09-27 18:29:08
我正在创建一个动态网格视图,其中有一部分我创建了一个新的事件处理程序进行编辑。我还创建了一个新的方法来进行实际编辑,但我需要将数据表名称作为参数之一传递给它,这样我就可以重新绑定它
GridView gridData = new GridView();
gridData.ID = "test";
gridData.AutoGenerateEditButton = true;
gridData.RowEditing += new GridViewEditEventHandler(grid_RowEditing);
gridData.DataSource = tbl;
gridData.DataBind();
protected void grid_RowEditing(object sender, GridViewEditEventArgs e)
{
((GridView)sender).EditIndex = e.NewEditIndex;
// I don't know how to pass the datasource name to this method, or if its even possible, because i won't ever know the actual gridview name because its dynamically created
//((GridView)sender).DataSource = ;
((GridView)sender).DataBind();
如果不需要取消挂起事件处理程序,最简单的方法是使用lambda表达式
string dataSourceName = ...;
gridData.RowEditing += (sender, e) => grid_RowEditing(gridData, dataSourceName, e);
gridData.DataSource = tbl;
gridData.DataBind();
void grid_RowEditing(GridView gridData, string dataSourceName, GridViewEventArgs e) {
...
}