2010-08-17 93 views
0

我有一個asp按鈕(代碼如下)。我有事件處理程序工作,但我想傳遞一個字符串(這是一個JavaScript函數的結果)到事件處理函數。有沒有辦法做到這一點?點擊時將參數傳遞給ASP.Net按鈕控件

<asp:Button runat="server" ID="Button1" OnClick="Button1_Click" Text="Run" /> 

回答

2

通常情況下,您會這樣做的方式是讓您的javascript修改輸入控件,以便將值返回Button點擊。如果您希望用戶在視覺上無法看到JavaScript正在修改的數據以便回發,那麼您可以將其寫入HiddenField

您可以使用OnClientClick設置要在回發之前運行的javascript,以確保將修改後的值放入輸入控件中。例如:

<asp:Button ID="yourButton" runat="server" Text="Click Me!" 
    OnClientClick="YourFunctionToAddStringToControl(); return true;" 
    OnClick="yourButton_Click" /> 

所以你只需要呼叫交換到YourFunctionToAddStringToControl用修改被寫入值到HiddenField或其他輸入控制javascript函數。然後更新您的服務器端點擊處理程序以訪問該字段。

側注:當使用javascript寫入服務器端控件(如HiddenField)時,請不要忘記使用<%= yourHiddenField.ClientID %>來獲取正確的控件名稱。

2

不礙事,你問。不過......

您可以添加一個ASP:HiddenField,並使用JavaScript來修改HiddenField的值是您的字符串。然後你可以在你的Button Click事件中訪問它。

可以找到一個例子here

+0

有沒有辦法在按下按鈕時運行javascript函數? – jamesatha 2010-08-17 21:52:49

+0

是的,請看這裏:http://msdn.microsoft.com/en-us/library/aa479011.aspx – David 2010-08-17 21:56:13

相關問題