我有一个aspx Web应用程序,其中包含多个具有类似方法的GridView。我的想法是创建一个具有可重用方法的"帮助程序"类。我的问题是利用这些远程类方法的最佳方法是什么?
前端不接受像这样的类方法:
<asp:GridView runat="server" ID="myGridView" ... OnSorting="myClass.reusableMethod"
当我将处理程序附加到Page_Load上时,Visual Studio 没有给我任何编译错误,但我确实收到一个运行时错误,指出 GridView 试图触发该事件并且它不存在。
if (!IsPostBack)
{
myGridView.Sorting += myClass.reusableMethod;
}
我很确定最后一种方法会奏效,但似乎适得其反。像往常一样在页面后端创建方法,但唯一的一行是对远程方法的调用
public void myGridView_Sorting(object sender, GridViewSortEventArgs e)
{
myClass.reusableMethod();
}
这是可以做到的。首先从 GridView 中删除 OnSorting
事件。
<asp:GridView ID="myGridView" runat="server" AllowSorting="true">
然后只绑定IsPostBack
检查之外的方法。
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//do not bind the event here
}
//but here
myGridView.Sorting += myClass.reusableMethod;
}
现在您可以使用该方法
public static void reusableMethod(object sender, GridViewSortEventArgs e)
{
GridView gv = sender as GridView;
}