Что означает функция __doPostBack и когда она используется? - PullRequest
4 голосов
/ 21 марта 2011

У меня была проблема с запуском событий нажатия кнопки на стороне сервера, поэтому я нашел в сети решение, что я должен сделать что-то вроде

  <input type="submit" name="button" id="loginButton" value="Submit" 
                            class="button-orange" alt="Register" title="Register" runat = "server" onclick ="this.disabled=true;__doPostBack('loginButton','')"/>

Я сделал это, и это сработало, но я хотел бы знать, что происходит!

Ответы [ 3 ]

5 голосов
/ 21 марта 2011

Проверьте эту статью:

Понимание функции JavaScript __doPostBack

Этот метод используется для отправки (обратной отправки) формы на сервер и позволяет каркасу ASP.NET вызывать соответствующие обработчики событий, связанные с элементом управления, вызвавшим повторную публикацию.

Обычно (в простых сценариях) метод не используется напрямую - он используется внутренне элементами управления, которые вы перетаскиваете на страницу.

Параметры, передаваемые этой функции, хранятся в скрытом поле и выбираются платформой ASP.NET на стороне сервера, чтобы найти элемент управления, возвращающий сообщение обратно.

4 голосов
/ 21 марта 2011

Проще говоря, он используется в основном элементами управления со свойством AutoPostBack

http://www.dotnetspider.com/resources/189-AutoPostBack-What-How-works.aspx

если вы хотите реализовать автостоп для своего пользовательского элемента управления, вам нужно реализовать IPostBackDataHandler

2 голосов
/ 21 марта 2011

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

Теперь, чтобы ответить на ваши вопросы .. PostBack - это термин, используемый для описания того, когда форма отправляется (публикуется) обратно на ту же страницу.Просто так.

Обычной кнопки отправки было бы достаточно, но частью PostBack является возможность определить, какой элемент управления вызвал ее, то есть какая кнопка или ссылка была нажата.

Чтобы сделать такую ​​кнопкувещь ASP.NET автоматически добавляет скрытые поля в форму, и при нажатии на элемент, который должен вызывать PostBack, код JavaScript используется для обновления значений этих скрытых полей до правильных значений, указывающих, что было нажато - аргумент, который вы передаете.

Имя, которое Microsoft выбрала для функции JS, выполняющей вышеуказанное, - __doPostBack - это просто имя функции, обычная функция JavaScript, которая ASP.NET автоматически записывает в браузер.

Hopeвсе стало немного яснее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...