如何在ASP.NET Page_Load事件中识别RadButton发起的回发?

时间:2014-01-10 02:37:48

标签: c# javascript asp.net telerik postback

在我的ASP.NET页面Page_Load中,我正在尝试确定是否已单击某个按钮并尝试回发:

if (Page.IsPostBack)
{
    if (Request.Params.Get("__EVENTARGUMENT") == "doStuff")
      doSomething();
}

doStuff是标记中的JavaScript,但我不希望单独触发doSomething()方法调用,我还需要能够确保用户单击的按钮是正确的。

如果用户点击后,如何从后面的代码中识别和引用按钮控件?我搜索并发现this但是当我尝试实现它时,返回的控件始终是null

2 个答案:

答案 0 :(得分:1)

或使用CommandName和命令事件。

        <telerik:RadButton ID="RadButton1" runat="server" CommandName="first" CommandArgument="one" OnCommand="CommandHandler" />
        <telerik:RadButton ID="RadButton2" runat="server" CommandName="second" CommandArgument="two" OnCommand="CommandHandler" />
        <asp:Label ID="Label1" Text="" runat="server" />
        <asp:Label ID="Label2" Text="" runat="server" />

protected void  CommandHandler(object sender, CommandEventArgs e)
{
    Label1.Text = e.CommandArgument.ToString();
    Label2.Text = e.CommandName;
}

答案 1 :(得分:0)

你还没有真正解释你想要做什么,但是如果你向按钮添加一个OnClick事件处理程序而不是试图在{{1}中找到它,那么你会觉得你会更容易}。只有在单击该按钮时才会执行事件处理程序。