http://expert.csdn.net/Expert/topic/1987/1987616.xml?temp=.6326105

解决方案 »

  1.   

    >>>在其他ASPX页面中该如何知道用户控件引发的事件??expose an event from your control, for example
    public class MyEventArgs: EventArgs
    {
      string sButtonName;
      public  MyEventArgs(string sName)
      {
    sButtonName = sName;
      }  public string ButtonName
      {
    get {return sButtonName;}
      }
     
    }
    public delegate void MyEventHandler(object sender, MyEventArgs e);
    public abstract class pageBind : System.Web.UI.UserControl
    {
      public event MyEventHandler MyEvent;
     
      ...  protected virtual void OnMyEvent(MyEventArgs e)
      {
        if (MyEvent != null)
         MyEvent(this, e)
      }
      public void lnkFirst_Click(object sender, System.EventArgs e)
      {
    pageNum = 0;

    OnMyEvent(new MyEventArgs("First"));
      }  ...}on your page, you do<my:YourControl id=yc runat=server OnMyEvent="YourMethod" />
    void YourMethod(object sender, MyEventArgs e)
    {
       if (e.ButtonName == "First")
      //...
    }also if you need a pager control, don't reinvent the wheel, see
    Creating a Pager Control for ASP.NET
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/PagerControls.asp
      

  2.   

    如果要分页控件的话试试这个:http://www.webdiyer.com
      

  3.   

    to:思归,在页面上加入
    on your page, you do<my:YourControl id=yc runat=server OnMyEvent="YourMethod" />
    void YourMethod(object sender, MyEventArgs e)
    {
       if (e.ButtonName == "First")
      //...
    }
    提示:“System.EventArgs”并不包含对“ButtonName”的定义
      

  4.   

    void YourMethod(object sender, MyEventArgs e)
                                  ^^^^^^^^^^^^^^^^you should be using the custom EventArgs class, not EventArgs, read the above reply carefully
      

  5.   

    To:思归,
    多谢您的指导,问题已解决,但不理解您上面具体的实现原理是什么?
    烦请给予耐心的解答,分数如不够,我尽当另开帖子给予补偿。
    还有一事见笑拉,小弟的E文实在是中华第一烂!:(
    请用国语给予讲解,或给予相关方面的技术书籍给予提示!