Я реализую веб-приложение с использованием ASP.NET/VB. Передний конец (.aspx) выполняет внешнюю .js
файл как:using ClientScriptIncludeRegister для получения значения скрытого поля
<script type =" text/javascript" src="External.js"></script>
, где она содержит некоторые функции. Одна из этих функций, называемых populateHidden()
используются для присвоения значения к hiddenField
я, определенным на переднем конце (.aspx) следующим образом:
В External.js
document.getElementByID('Hidden2').value = "dsadsadas";
В .aspx
<input id="Hidden2" type ="hidden" runat="server" />
, что я был т участвовав сделать это, чтобы получить значение, присвоенное Hidden2
и передать его на стороне сервера (.aspx.vb) с помощью:
Dim str = Hidden2.value
Однако, поскольку код на стороне сервера выполняет первый, str
будет пустым и если postback
сделано каким-либо образом, используя Button
или Timer
, чтобы перезагрузить интерфейс, то str
будет иметь dsadsadas
. Я не намерен перезагружать страницу или инициализировать postback
. Я пробовал window.onload = populateHidden()
без везения. Эта ситуация сделала меня отчаянным, так как я пытался сделать многое, убедившись, что не использую postbacks or reloads
, пока не наткнулся на ClientScriptManager.RegisterClientScriptInclude Method. Я не мог не разобраться, как я могу использовать такой пример для решения моей ситуации.
Идея в виду, чтобы позвонить или выполнить
External.js
со стороны сервера (так как он выполняет), затем заполнитьHidden2
на переднем конце, вернитесь на стороне сервера и получитьHidden2.value
.Однако пример в упомянутой выше ссылке серверный код написан в интерфейсе, но я хочу записать его на стороне сервера (.aspx.vb).
Причина, по которой мне нужно
Hidden2.value
на серверной стороне, заключается в ее хранении в моемsql_database
. Любые предложения, советы или решения для полученияHidden2.value
с интерфейсом будут действительно оценены.
Вам либо нужно отправить обратно форму, либо отправить данные через ajax. [Реализация клиентских обратных вызовов без обратной транзакции] (http://msdn.microsoft.com/en-us/library/ms178208.aspx) – MikeSmithDev
@MikeSmithDev Ну, что мне потребуется, это полная противоположность, чтобы запустить клиентский код на стороне сервера с помощью нет обратной передачи. – HShbib
Что вам нужно - это AJAX, если вы не хотите отправлять сообщения обратно. Вы не можете запустить клиентский код на сервере ... поскольку вы находитесь на сервере. Вы можете асинхронно отправлять клиентские данные на сервер, не вызывая полную обратную передачу страницы. – MikeSmithDev