Как я могу получить доступ к переменной javascript из кода позади ascx?

В частности, у меня есть элемент управления ascx, давайте предположим, что он внедряет JavaScript var x=5,

Элемент управления ascx содержит кнопку, которая при нажатии делает x++;

х тогда 6.

Когда кто-то помещает мой элемент управления на свою страницу и нажимает кнопку, которая отправляет сообщения назад (кнопка принадлежит им), я хочу позволить им получить значение x в коде позади.

Есть ли решение, которое позволило бы это? Самое близкое, что я могу придумать, это поместить скрытое поле в ascx и сохранить значение в скрытом поле при его обновлении. Затем в моем коде, при обратной передаче, я могу сделать myControl.hiddenField.value, чтобы получить результат.

Я еще не пробовал это, поскольку мне интересно, есть ли лучший способ. Также я не уверен, будет ли обновленное значение скрытого поля регистрироваться, когда оно будет изменено с помощью javascript, хотя, будучи постом, я надеюсь, что это так.

Мысли?

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

2 ответа

Решение

Да, ваш собственный ответ самый лучший... особенно с вашим редактированием! Поля формы - это то, как эти два уровня взаимодействуют друг с другом. Вы могли бы потенциально вызывать пост ajax с некоторыми динамически создаваемыми параметрами get / post, но это было бы не лучше...

Ваша идея уже является лучшим подходом, который вы можете использовать. Я не думаю, что вы можете использовать опцию запроса Ajax, предложенную Timbo, потому что у вас есть элемент управления ascx, который можно разместить во многих различных формах, и как бы вы определили, будете ли вы отправлять сообщение или получать запрос?

В заключение, ваш подход очень хорош, и в этом нет ничего неэффективного.

Другие вопросы по тегам