2014-01-10 82 views
1

在我的ASP.NET頁面的Page_Load我試圖確定某個按鈕是否被點擊並試圖回發:如何在ASP.NET Page_Load事件中識別RadButton發起的回發?

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

doStuff是標記內一個JavaScript,但我不希望這樣單獨觸發doSomething()方法調用,我還需要能夠確保用戶點擊的按鈕是正確的。

一旦用戶點擊後,如何從後面的代碼中識別並引用按鈕控件?我搜索並發現this,但是當我嘗試實現它時,返回的控件始終爲null

+0

你作爲'Page.Request.Params.Get(「__ EVENTTARGET」)得到了什麼? – Damith

+0

結果值爲'未定義'。 – user3179960

回答

0

你還沒有真正解釋你想做什麼,但是如果你在按鈕中添加了一個OnClick事件處理程序,而不是試圖在Page_Load中找到它,聽起來好像你會有更容易的時間。事件處理程序只能在單擊該按鈕時執行。

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; 
} 
相關問題