将多个按钮绑定到事件处理程序

时间:2016-01-28 12:38:36

标签: c# event-handling commandargument

我对事件没有任何经验。与会代表。过去几天,我一直试图通过互联网上的SO和其他来源做些什么。

我要做的是为自定义分页自定义OnPageChange事件。在我(希望)这样做之后,我被告知要做三件事;

1 - 我们控件中的“onclick事件”

2-使所有链接按钮调用此onclick事件

3-通过按钮点击链接按钮来提升OnPageChange事件。

到目前为止,我做了这些;

在我们的自定义分页控件(名称是PagingControl)

public class PageChangeEventArgs : EventArgs
{
    private int PageNum;

    public PageChangeEventArgs(int PageNum)
    {
        this.PageNum = PageNum;
    }

    public int Page
    {
        get
        {
            return PageNum;
        }
    }
}

public class ClickEventArgs : EventArgs
{


    public ClickEventArgs()
    {

    }
}

public delegate void PageChangeHandler(object sender, PageChangeEventArgs e);

public delegate void PageChangeClickHandler(object sender, ClickEventArgs e);

//------------------------------------------------------------------------

public partial class PagingControl : System.Web.UI.UserControl
{
    //------------------------------------------------------------------------
    public event PageChangeHandler PageChange;
    protected virtual void OnPageChange(PageChangeEventArgs e)
    {
        PageChange(this, e);
    }


    public event PageChangeClickHandler PageChangeClick;
    protected virtual void OnPageChangeClick(ClickEventArgs e)
    {
        PageChangeClick(this, e);
    }

        //------------------------------------------------------------------------

.
.
.
}

另外,我试图通过从按钮发送命令参数让OnPageChange知道它是哪个页面。一个例子;

btnNext.Text = String.Format("<a href=\"{0}\"><b>{1}</b></a>&nbsp;",
                GetPagingUrl(Convert.ToString(this.CurrentPageId + 1)), "<img src='../../img/next.gif' border='0' />");
            btnNext.CommandArgument = Convert.ToString(this.CurrentPageId + 1);

这些对我来说都是如此新颖和陌生,我迷失了,我将如何获得按钮和事件处理程序。

我主要使用此页面来完成任务:http://www.windowsdevcenter.com/pub/a/dotnet/2002/04/15/events.html

0 个答案:

没有答案