У меня есть кнопка asp (код ниже). У меня работает обработчик событий, но я хочу передать строку (которая является результатом функции javascript) в функцию обработчика событий. Есть способ сделать это?

<asp:Button runat="server" ID="Button1"  OnClick="Button1_Click" Text="Run" />
0
jamesatha 18 Авг 2010 в 01:49

2 ответа

Лучший ответ

Обычно вы делаете это так, чтобы javascript изменял элемент управления вводом, чтобы значение было отправлено обратно при нажатии Button. Если вы хотите, чтобы пользователь визуально не мог видеть данные, которые ваш javascript изменяет для отправки обратно, вы можете записать их в HiddenField.

Вы можете использовать OnClientClick для настройки запуска javascript до того, как произойдет обратная передача, чтобы ваше измененное значение было помещено в элемент управления вводом. Например:

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

Так что вам просто нужно поменять местами вызов YourFunctionToAddStringToControl на вашу модифицированную функцию javascript, которая записывает значение в HiddenField или другой элемент управления вводом. Затем обновите обработчик кликов на стороне сервера, чтобы получить доступ к полю.

Боковое примечание: при использовании javascript для записи в элементы управления на стороне сервера, такие как HiddenField, не забудьте использовать <%= yourHiddenField.ClientID %> для получения правильного имени элемента управления.

2
Kelsey 18 Авг 2010 в 03:35

Не так, как вы спрашиваете .. Однако ...

Вы МОЖЕТЕ добавить ASP: HiddenField и использовать Javascript для изменения значения HiddenField, чтобы оно было вашей строкой. Затем вы можете получить доступ к этому в событии Button Click.

Пример можно найти здесь .

2
David 17 Авг 2010 в 21:51