JQuery с панелью обновления - PullRequest
       6

JQuery с панелью обновления

3 голосов
/ 04 августа 2010

У меня проблема при использовании контекстного меню jquery и панелей обновления.я пишу JavaScript контекстного меню в RenderBeginTag элемента управления Customtextbox с помощью htmlTextWriter.все работает нормально, я могу щелкнуть правой кнопкой мыши на каждом текстовом поле и появится меню.
, но когда я запускаю частичную обратную передачу с использованием панели обновления asp.net, меню не будет отображаться.кажется, что связь между jquery и html теряется, когда произошла частичная обратная запись.
есть ли лучший способ разместить динамический код JavaScript, отличный от RenderBeginTag?как я могу решить эту проблему?

Ответы [ 2 ]

3 голосов
/ 04 августа 2010

Вы правы, панель обновления удалит ваши привязки javascript.

В постбеке панели обновлений повторно зарегистрируйте рассматриваемый javascript.

Что-то вроде:

ClientScriptManager cs = Page.ClientScript;
cs.RegisterStartupScript(typeof(Page), "ReApplyJavascript", "<script type=text/JavaScript>YourJavascriptInitMethod();</script>", false);

Если это не сработает.Вам может понадобиться использовать:

   ScriptManager.RegisterStartupScript(Page, typeof(Page), "ReApplyJavascript", "<script type=text/JavaScript>YourJavascriptInitMethod();</script>", false);
1 голос
/ 04 августа 2010

Вам нужно повторно инициализировать меню после обновления UpdatePanel.

<script type="text/javascript"> 
var prm = Sys.WebForms.PageRequestManager.getInstance();    
prm.add_initializeRequest(InitializeRequest);
prm.add_endRequest(EndRequest);

function InitializeRequest(sender, args) {      
}

function EndRequest(sender, args) {
     // Here initialize the menou
}
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...