передача аргумента в функцию javascript из события часов кнопки asp.net c #
-
10-07-2019 - |
Вопрос
я должен передать строковое значение, которое хранится в переменной, в функцию javascript
который я вызываю в событии нажатия кнопки моего веб-приложения asp.net c #.
Я пробовал несколько способов, но не совсем точно.
ниже приведен код, который я использую
protected void Button1_Click(object sender, EventArgs e) { myButton.Attributes.Add("onclick", "openNewWindow(spcd)"); }
это моя функция события нажатия кнопки
«opennewwindow» - это моя функция javascript, а «spcd» - моя переменная, которая является строковой переменной, которая является общедоступной строковой переменной.
ниже моя функция javascript
<script type="text/javascript"> function openNewWindow(spcd) { //alert("hello"); var tt = spcd; alert(tt); var theurl="http://www.gmail.com"; popupWin = window.open(theurl, '_blank', 'menubar, toolbar, location, directories, status, scrollbars, resizable, dependent, width=640, height=480, left=0, top=0') } </script>
но когда я делаю это, мой javascript не работает.
может кто-нибудь сказать, какой реальный способ сделать это
Решение
Предоставленный вами код не вызывает функцию Javascript из C #. Он добавляет новый атрибут к кнопке для подключения обработчика событий Javascript. JS не будет выполняться до следующего нажатия кнопки. Если вы хотите запустить функцию JS при нажатии кнопки, делайте то, что вы делаете в Page_Load или где угодно, но не в обработчике событий кнопки. Р>
Кроме того, вы можете объединить строку, которую нужно отправить, в качестве значения атрибута, например так:
myButton.Attributes.Add (" onclick " ;, " openNewWindow ('" + spcd + "'); " ;;
Просто убедитесь, что вы делаете это в некоторых обработчиках событий жизненного цикла страницы (НЕ В РУКОВОДСТВЕ СОБЫТИЯ КНОПКИ КНОПКИ), а также в том, что переменная spcd имеет значение, которое вам нужно в тот момент жизненного цикла.