Метод ClientScriptManager.GetPostBackEventReference - PullRequest
7 голосов
/ 06 ноября 2008

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

Может кто-нибудь дать другое объяснение этого. Примеры помогут.

Спасибо

Ответы [ 2 ]

9 голосов
/ 06 ноября 2008

Простейшим примером является LinkButton. Перетащите один на страницу и посмотрите на HTML, который он генерирует. Вы увидите что-то вроде.

href="javascript:__doPostBack('ctl00$LinkButton1','')"

GetPostBackEventReference позволяет вам получить этот фрагмент JavaScript, чтобы вы могли инициировать этот постбэк из других источников. Однако, если вы запустите этот бит JavaScript, произойдет обратная передача, и событие OnClick будет запущено на сервере так же, как если бы вы нажали кнопку LinkButton. Пример на MSDN подключает подобный бит JavaScript к ссылкам для запуска событий на стороне сервера в GridView.

Более практичное использование - когда вы хотите обрабатывать обратные передачи в пользовательском элементе управления. Ваш элемент управления реализует IPostBackEventHandler для обработки обратных передач на сервере, и вы используете GetPostBackEventReference для получения JavaScript, который будет запускать эти обратные передачи.

3 голосов
/ 06 ноября 2008

Как упомянул Стив, это можно использовать для

GetPostBackEventReference позволяет вам получить этот фрагмент JavaScript, чтобы вы могли инициировать этот постбэк из других источников.

Чтобы привести пример, вы можете использовать эту функцию, чтобы получить ссылку на событие PostBack нажатия кнопки и добавить его в onblur текстового поля.

Это имитирует нажатие кнопки всякий раз, когда текстовое поле теряет фокус.

...