将远程方法添加到 GridView 事件



我有一个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;
}

相关内容

  • 没有找到相关文章

最新更新