C# 生成回发到特定方法/事件处理程序
我有一个自定义的gridview,我正在为RowDataBound上的onclick手动生成一个回发事件。但是,此回发始终指向/期望单击行上的特定方法 以下是实现回发的当前代码:C# 生成回发到特定方法/事件处理程序,c#,asp.net,postback,C#,Asp.net,Postback,我有一个自定义的gridview,我正在为RowDataBound上的onclick手动生成一个回发事件。但是,此回发始终指向/期望单击行上的特定方法 以下是实现回发的当前代码: if (!String.IsNullOrEmpty(this.OnRowClick)) e.Row.Attributes.Add("onclick", this.Page.ClientScript.GetPostBackEventReference(this.grid
if (!String.IsNullOrEmpty(this.OnRowClick))
e.Row.Attributes.Add("onclick", this.Page.ClientScript.GetPostBackEventReference(this.grid1, "Select$" + e.Row.RowIndex.ToString()));
正如您在这里看到的,我在网格中设置了一个属性,询问在执行回发时调用哪个方法。。。但是,我似乎在web上找不到任何地方如何在_dopostback调用中指定要调用的方法。。。它总是毫无例外地希望采用这种方法:
grid1_SelectedIndexChanged(object sender, eventargs e)
但我不想那样。我希望它转到OnRowClick属性中包含的任何方法名称
以下是可视人物当前的设置方式:
就这样。。。我不确定。我是一个视觉化的人,所以也许这对每个人都有帮助: 自定义控件设置(缩小版): [其他一些控制措施 -=网格视图=- [其他一些控制] [(控件事件属性) OnRowClick事件(GridViewRow事件参数)] [(控制事件连线) 如果(OnRowClick!=null) this.GridView1.SelectedIndexChanged+=InternalMethod(…) [(内部方法(…)) GridViewRow行=this.GridView1.SelectedRow 如果(OnRowClick!=null) onrow单击(行);]] 到目前为止还不错。。。没有任何问题。。。但是当我这样设置时: HtmlPage ->自定义控件(mygrid) --->mygrid.OnRowClick+=SomePageMethod(GridViewRow行) ------>SomePageMethod永远不会被调用。。。喜欢从来没有 由于我已将控件构建为复合控件,因此无法通过其内部代码进行调试,因此我无法说出为什么没有发生…:请帮我把这件事做好 自定义控制代码:
this.grid1.SelectedIndexChanged += new EventHandler(grid1_SelectedIndexChanged);
void grid1_SelectedIndexChanged(object sender, EventArgs e)
{
GridViewRow row = this.grid1.SelectedRow;
if(this.OnRowClick!=null)
OnRowClick(this.grid1, row);
}
#region Events
public delegate void RowClickEventHandler(object sender, GridViewRow SelectedRow);
[Category("Events")]
[Description("This event fires when a row is clicked, if it is defined")]
public event RowClickEventHandler OnRowClick;
#endregion
网页代码:
this.pgrSummary.OnRowClick += new SimplePager.SimplePager.RowClickEventHandler(pgrSummary_OnRowClick);
而且methode永远不会被调用…是因为onclick事件设置了一个渲染时间,所以使用一个方法来动态计算它不会起作用吗?被调用的方法能否计算出逻辑,然后调用所需的单击处理程序?仅此而已。。。我不确定。我是一个视觉化的人,所以也许这对每个人都有帮助: