Jquery и Updatepanel: привязка метода jquery к общему мнению - PullRequest
0 голосов
/ 17 марта 2011

Я использую несколько пользовательских элементов управления на моей веб-странице.Каждый из этих пользовательских элементов управления имеет метод $ (document) .ready ().Поскольку я использую панель обновления, я снова связываю все события в событии end_request.Но я не хочу делать это во всех моих пользовательских элементах управления.Можно ли сделать это в обычном месте (только один раз)?

спасибо, syd

1 Ответ

0 голосов
/ 17 марта 2011

Есть много интересных способов сделать то, что вы хотите. Самый простой из них:

  • сделать ClientIdMode вашего элемента управления ascx статическим
  • на главной странице добавить вызов функции init, которая будет обрабатывать init для всех элементов управления ascx например, если у вас есть элементы управления a1.ascx и b1.ascx, обернутые в &ltdiv id="divA1">ascx markup ... </div>, и это же b1.ascx, вы можете написать что-то вроде:

var site = {
   init:function(){
    if($('#divA1').length > 0)
     {
         // bind events for the a1.ascx here
}
if($('#divB1').length >0)
{
    //bind events for a2
}

   }
};
$(function(){
    site.init();
});

--- обновление ----

если вы используете asp.net 3.5, вы можете попробовать следующее:


var site={
    ascx1_init:function(clientId){
        $('#'+clientId+'_Button1').live('click',function(){//button click code goes here});
    },
    ascx2_init:function(clientId){
        $('#'+clientId+'_Button1').live('click',function(){//button click code goes here});
    },
    ....
}

в каждом вашем ascx, добавьте следующую ссылку в конце функции page_load:

Me.Page.ClientScript.RegisterStartupScript(Me.GetType(),"_"+Me.ClientID,"site.ascx1_init('" & Me.ClientID & "');",True) Я предполагаю, что вы используете vb.net. Таким образом, вы можете получить доступ ко всем серверным элементам управления asp.net в js и без проблем поддерживать один js

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