Как я могу получить доступ к переменной javascript из кода позади ascx?
В частности, у меня есть элемент управления ascx, давайте предположим, что он внедряет JavaScript var x=5
,
Элемент управления ascx содержит кнопку, которая при нажатии делает x++;
х тогда 6.
Когда кто-то помещает мой элемент управления на свою страницу и нажимает кнопку, которая отправляет сообщения назад (кнопка принадлежит им), я хочу позволить им получить значение x в коде позади.
Есть ли решение, которое позволило бы это? Самое близкое, что я могу придумать, это поместить скрытое поле в ascx и сохранить значение в скрытом поле при его обновлении. Затем в моем коде, при обратной передаче, я могу сделать myControl.hiddenField.value, чтобы получить результат.
Я еще не пробовал это, поскольку мне интересно, есть ли лучший способ. Также я не уверен, будет ли обновленное значение скрытого поля регистрироваться, когда оно будет изменено с помощью javascript, хотя, будучи постом, я надеюсь, что это так.
Мысли?
Изменить: На самом деле, используя геттер, я мог бы спрятать скрытое поле и просто разрешить прямой доступ к значению... если это решение является лучшим...
2 ответа
Да, ваш собственный ответ самый лучший... особенно с вашим редактированием! Поля формы - это то, как эти два уровня взаимодействуют друг с другом. Вы могли бы потенциально вызывать пост ajax с некоторыми динамически создаваемыми параметрами get / post, но это было бы не лучше...
Ваша идея уже является лучшим подходом, который вы можете использовать. Я не думаю, что вы можете использовать опцию запроса Ajax, предложенную Timbo, потому что у вас есть элемент управления ascx, который можно разместить во многих различных формах, и как бы вы определили, будете ли вы отправлять сообщение или получать запрос?
В заключение, ваш подход очень хорош, и в этом нет ничего неэффективного.