我想写一个datalist分页代码,在网上扒的…… 
private void InitializeComponent()
    {
        this.fp1.Command += new System.Web.UI.WebControls.CommandEventHandler(this.Page_OnClick);
        this.pp1.Command += new System.Web.UI.WebControls.CommandEventHandler(this.Page_OnClick);
        this.np1.Command += new System.Web.UI.WebControls.CommandEventHandler(this.Page_OnClick);
        this.lp1.Command += new System.Web.UI.WebControls.CommandEventHandler(this.Page_OnClick);
    }

public void Page_OnClick(Object sender, CommandEventArgs e)
    {
        CurrentPage = int.Parse(cp1.Text.Trim()) - 1;
        PageCount = int.Parse(pc1.Text.Trim());        string cnstr = e.CommandName;
        switch (cnstr)
        {
            case "first":
                CurrentPage = 0;
                break;
            case "next":
                if (CurrentPage < (PageCount - 1)) CurrentPage++;
                break;
            case "prev":
                if (CurrentPage > 0) CurrentPage--;
                break;
            case "last":
                CurrentPage = PageCount - 1;
                break;
        }
        mfbind();
    }
但不知道代码写在哪啊?vs2003里有窗体生成器,可vs2005据说是都封好的上面四个控件都是ImageButton,我在前台html里分别格四个控件加了OnClick="Page_OnClick",
把原来的 OnClick="LinkButton3_Click"删除了,
结果编译时提示:
错误 1 “Page_OnClick”的重载均与委托“System.Web.UI.ImageClickEventHandler”不匹配 E:\docSys\docSys\docSys\doc_List\副本 allTree.aspx 66
错误 2 “Page_OnClick”的重载均与委托“System.Web.UI.ImageClickEventHandler”不匹配 E:\docSys\docSys\docSys\doc_List\副本 allTree.aspx 69
错误 3 “Page_OnClick”的重载均与委托“System.Web.UI.ImageClickEventHandler”不匹配 E:\docSys\docSys\docSys\doc_List\副本 allTree.aspx 76
错误 4 “Page_OnClick”的重载均与委托“System.Web.UI.ImageClickEventHandler”不匹配 E:\docSys\docSys\docSys\doc_List\副本 allTree.aspx 78 请问怎么办啊?
请大家帮忙解决,谢谢了。

解决方案 »

  1.   

    public void Page_OnClick(Object sender, CommandEventArgs e)
        {改为:public void Page_OnClick(object sender, EventArgs e)
        {
      

  2.   

    this.fp1.Command += new System.Web.UI.WebControls.CommandEventHandler(this.Page_OnClick);
            this.pp1.Command += new System.Web.UI.WebControls.CommandEventHandler(this.Page_OnClick);
            this.np1.Command += new System.Web.UI.WebControls.CommandEventHandler(this.Page_OnClick);
            this.lp1.Command += new System.Web.UI.WebControls.CommandEventHandler(this.Page_OnClick);这些在2005里不需要了,采用 partial class 的概念
      

  3.   

    又或者public void Page_OnClick(Object sender, CommandEventArgs e)不改,而是:
     <asp:LinkButton ID="LinkButton1" runat="server"  OnCommand="LinkButton1_Command">LinkButton</asp:LinkButton>
    注意:加在OnCommand里,而不是OnClick里~~~
      

  4.   

    把:
    private void InitializeComponent()
        {
            this.fp1.Command += new System.Web.UI.WebControls.CommandEventHandler(this.Page_OnClick);
            this.pp1.Command += new System.Web.UI.WebControls.CommandEventHandler(this.Page_OnClick);
            this.np1.Command += new System.Web.UI.WebControls.CommandEventHandler(this.Page_OnClick);
            this.lp1.Command += new System.Web.UI.WebControls.CommandEventHandler(this.Page_OnClick);
        }去掉看看
      

  5.   

    ImageButton_Click(object sender, ImageClickEventArgs e) 
      

  6.   

    一楼的朋友,把CommandEventArgs 改成EventArgs 后,e就.不出CommandName了啊还有二楼的朋友,能说得清楚些吗?告诉我在哪里添加代码。