Вызов Jquery при частичной обратной передаче на панели обновления - PullRequest
0 голосов
/ 14 марта 2012

У меня очень странная проблема с Jquery и частичной обратной передачей на панели обновления.

Я создал логику jquery в коде и использовал:

Page.ClientScript.RegisterStartupScript (this.GetType (), "jsSlider" + select.ClientID, sb.ToString ());

для создания функции Jquery Slider в ретрансляторе. Однако, что происходит, когда я помещаю это в панель обновления, он работает нормально, и слайдер jquery работает, однако, при любой частичной обратной передаче, и я теряю свою прекрасную функцию слайдера jquery, потому что мне нужно повторно привязывать функцию слайдера обратно после каждой частичной обратной передачи.

Как я могу сделать это, используя подобный код, такой как Page.ClientScript.RegisterStartupScript (this.GetType (), "jsSlider" + select.ClientID, sb.ToString ());

Есть ли другой способ сказать Page.ClientScript.EVERYPOSTBACK (this.GetType (), "jsSlider" + select.ClientID, sb.ToString ()); или что-то подобное? Я открыт для других предложений?

Ответы [ 2 ]

0 голосов
/ 23 мая 2012

Если вам все еще нужен ответ, есть аналог ClientScript.RegisterStartupScript для частичной обратной передачи UpdatePanel.Попробуйте вместо этого ScriptManager.RegisterStartupScript .

0 голосов
/ 14 марта 2012

вы можете использовать функцию "pageLoad" в своем javascript-коде. Функция pageLoad вызывается при начальной загрузке страницы и после каждой частичной обратной передачи. Если есть вещи, которые нужно вызывать только при начальной загрузке страницы, вы все равно хотите поместить их в готовый документ.

<script type="text/javascript">
   function pageLoad()
   {
      //...
      //anything you want to happen every time the page loads or after a partial postback
      //...

      //your javascript here...  below an example of using jquery on some asp.net control.
      $('#<%= select.ClientID %>').foo('bar');

   }
</script>

http://www.asp.net/ajax/documentation/live/overview/AJAXClientEvents.aspx содержит более подробную информацию об этом примерно на 1/3 пути вниз по странице.

...