我有一个aspx Web应用程序,它有多个GridView,具有类似的方法。我的想法是创建一个具有可重用方法的“助手”类。我的问题是利用这些远程类方法的最佳方法是什么?
前端不接受这样的class.method:
<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();
}
答案 0 :(得分:1)
可以做到。首先从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;
}