我有一個asp按鈕(代碼如下)。我有事件處理程序工作,但我想傳遞一個字符串(這是一個JavaScript函數的結果)到事件處理函數。有沒有辦法做到這一點?點擊時將參數傳遞給ASP.Net按鈕控件
<asp:Button runat="server" ID="Button1" OnClick="Button1_Click" Text="Run" />
我有一個asp按鈕(代碼如下)。我有事件處理程序工作,但我想傳遞一個字符串(這是一個JavaScript函數的結果)到事件處理函數。有沒有辦法做到這一點?點擊時將參數傳遞給ASP.Net按鈕控件
<asp:Button runat="server" ID="Button1" OnClick="Button1_Click" Text="Run" />
通常情況下,您會這樣做的方式是讓您的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 %>
來獲取正確的控件名稱。
不礙事,你問。不過......
您可以添加一個ASP:HiddenField,並使用JavaScript來修改HiddenField的值是您的字符串。然後你可以在你的Button Click事件中訪問它。
可以找到一個例子here。
有沒有辦法在按下按鈕時運行javascript函數? – jamesatha 2010-08-17 21:52:49
是的,請看這裏:http://msdn.microsoft.com/en-us/library/aa479011.aspx – David 2010-08-17 21:56:13