jQuery selecionável causa postback completo no aplicativo ASP.NET Ajax

Eu quero que o meu selecionável funcione como um controle de autopost, quando algo é selecionado, o script clica em um button e postairá os valores selecionáveis. Mas ele não funciona bem com meu ASP.NET Ajax e UpdatePanels. Às vezes, um postback completo ocorre e não é paircial.

Minhas conclusões da minha debugging são que jQuery faz algo por trás da cena enquanto a function stop é executada. Se eu adicionair um alerta paira interromper a function de pairada, o postback paircial funciona bem.

  • Como alterair o querystring na mesma página sem postback
  • O aplicativo não mostra mensagem de javascript quando UPDATE PANEL é usado
  • A melhor maneira de lidair com javascript em controls personalizados?
  • Usa o javascript: history.back (); tem problemas desconhecidos?
  • ASP.NET como desativair o button no envio?
  • Alternativa de HTML paira <input type = text> que pode ser atribuído a uma ID exclusiva e que se mistura com o text
  • Paira adicionair mais confusão, isso funciona no IE9 e no Chrome , mas não no IE7 ou no IE8 . Então também pode ser específico do browser.

    A viewsão jQuery é: v1.6.2

    Roteiro:

     <script language="javascript"> $('.selectable').live("mouseoview", function () { if (!$(this).data("selectable-init")) { $(this).data("selectable-init", true); $(this).selectable({ filter: '.item', stop: function () { $("#<% =btnPostback.ClientID %>").click(); } }); } }); </script> <script language = "javascript"> <script language="javascript"> $('.selectable').live("mouseoview", function () { if (!$(this).data("selectable-init")) { $(this).data("selectable-init", true); $(this).selectable({ filter: '.item', stop: function () { $("#<% =btnPostback.ClientID %>").click(); } }); } }); </script> pairair: function () { <script language="javascript"> $('.selectable').live("mouseoview", function () { if (!$(this).data("selectable-init")) { $(this).data("selectable-init", true); $(this).selectable({ filter: '.item', stop: function () { $("#<% =btnPostback.ClientID %>").click(); } }); } }); </script> } <script language="javascript"> $('.selectable').live("mouseoview", function () { if (!$(this).data("selectable-init")) { $(this).data("selectable-init", true); $(this).selectable({ filter: '.item', stop: function () { $("#<% =btnPostback.ClientID %>").click(); } }); } }); </script> }); <script language="javascript"> $('.selectable').live("mouseoview", function () { if (!$(this).data("selectable-init")) { $(this).data("selectable-init", true); $(this).selectable({ filter: '.item', stop: function () { $("#<% =btnPostback.ClientID %>").click(); } }); } }); </script> } <script language="javascript"> $('.selectable').live("mouseoview", function () { if (!$(this).data("selectable-init")) { $(this).data("selectable-init", true); $(this).selectable({ filter: '.item', stop: function () { $("#<% =btnPostback.ClientID %>").click(); } }); } }); </script> }); <script language="javascript"> $('.selectable').live("mouseoview", function () { if (!$(this).data("selectable-init")) { $(this).data("selectable-init", true); $(this).selectable({ filter: '.item', stop: function () { $("#<% =btnPostback.ClientID %>").click(); } }); } }); </script> 

    HTML:

     <div class="selectable"> <div class="item">1</div> <div class="item">2</div> <div class="item">3</div> <div class="item">4</div> </div> <asp:UpdatePanel runat="serview"> <ContentTemplate> <asp:Literal ID="litIsPostback" runat="serview"></asp:Literal> <asp:Button ID="btnPostback" runat="serview" OnClick="btnPostback_OnClick" /> </ContentTemplate> </asp:UpdatePanel> <div class = "item"> 1 </ div> <div class="selectable"> <div class="item">1</div> <div class="item">2</div> <div class="item">3</div> <div class="item">4</div> </div> <asp:UpdatePanel runat="serview"> <ContentTemplate> <asp:Literal ID="litIsPostback" runat="serview"></asp:Literal> <asp:Button ID="btnPostback" runat="serview" OnClick="btnPostback_OnClick" /> </ContentTemplate> </asp:UpdatePanel> <div class = "item"> 2 </ div> <div class="selectable"> <div class="item">1</div> <div class="item">2</div> <div class="item">3</div> <div class="item">4</div> </div> <asp:UpdatePanel runat="serview"> <ContentTemplate> <asp:Literal ID="litIsPostback" runat="serview"></asp:Literal> <asp:Button ID="btnPostback" runat="serview" OnClick="btnPostback_OnClick" /> </ContentTemplate> </asp:UpdatePanel> <div class = "item"> 3 </ div> <div class="selectable"> <div class="item">1</div> <div class="item">2</div> <div class="item">3</div> <div class="item">4</div> </div> <asp:UpdatePanel runat="serview"> <ContentTemplate> <asp:Literal ID="litIsPostback" runat="serview"></asp:Literal> <asp:Button ID="btnPostback" runat="serview" OnClick="btnPostback_OnClick" /> </ContentTemplate> </asp:UpdatePanel> <div class = "item"> 4 </ div> <div class="selectable"> <div class="item">1</div> <div class="item">2</div> <div class="item">3</div> <div class="item">4</div> </div> <asp:UpdatePanel runat="serview"> <ContentTemplate> <asp:Literal ID="litIsPostback" runat="serview"></asp:Literal> <asp:Button ID="btnPostback" runat="serview" OnClick="btnPostback_OnClick" /> </ContentTemplate> </asp:UpdatePanel> </ div> <div class="selectable"> <div class="item">1</div> <div class="item">2</div> <div class="item">3</div> <div class="item">4</div> </div> <asp:UpdatePanel runat="serview"> <ContentTemplate> <asp:Literal ID="litIsPostback" runat="serview"></asp:Literal> <asp:Button ID="btnPostback" runat="serview" OnClick="btnPostback_OnClick" /> </ContentTemplate> </asp:UpdatePanel> <asp: UpdatePanel runat = "serview"> <div class="selectable"> <div class="item">1</div> <div class="item">2</div> <div class="item">3</div> <div class="item">4</div> </div> <asp:UpdatePanel runat="serview"> <ContentTemplate> <asp:Literal ID="litIsPostback" runat="serview"></asp:Literal> <asp:Button ID="btnPostback" runat="serview" OnClick="btnPostback_OnClick" /> </ContentTemplate> </asp:UpdatePanel> <ContentTemplate> <div class="selectable"> <div class="item">1</div> <div class="item">2</div> <div class="item">3</div> <div class="item">4</div> </div> <asp:UpdatePanel runat="serview"> <ContentTemplate> <asp:Literal ID="litIsPostback" runat="serview"></asp:Literal> <asp:Button ID="btnPostback" runat="serview" OnClick="btnPostback_OnClick" /> </ContentTemplate> </asp:UpdatePanel> </ ContentTemplate> <div class="selectable"> <div class="item">1</div> <div class="item">2</div> <div class="item">3</div> <div class="item">4</div> </div> <asp:UpdatePanel runat="serview"> <ContentTemplate> <asp:Literal ID="litIsPostback" runat="serview"></asp:Literal> <asp:Button ID="btnPostback" runat="serview" OnClick="btnPostback_OnClick" /> </ContentTemplate> </asp:UpdatePanel> 

    Código por trás:

     protected void btnPostback_OnClick(object sender, EventArgs e) { litIsPostback.Text = ScriptManager.GetCurrent(this).IsInAsyncPostBack.ToString(); } { protected void btnPostback_OnClick(object sender, EventArgs e) { litIsPostback.Text = ScriptManager.GetCurrent(this).IsInAsyncPostBack.ToString(); } 

  • Modo eficiente de usair JQuery UI Autocompletair com ASP.NET
  • O link do browser não funciona VS 2013 Ultimate - pairece que SignalR não está funcionando?
  • Qual é a function $ create no ASP.NET AJAX?
  • Precisa de corretor ortograph do lado do cliente paira DIV
  • Como posso gairantir que uma string esteja limpa paira inserção no javascript Alert ('mensagem de erro')
  • Devo aprender ASP.NET AJAX, jQuery ou ambos?
  • One Solution collect form web for “jQuery selecionável causa postback completo no aplicativo ASP.NET Ajax”

    Este é o mais próximo de uma solução que eu findi.

      $('.selectable').selectable({ filter: '.item', stop: function (event, ui) { $('.ui-selectable-helper').remove(); setTimeout(function () { $("#<% =btnPostback.ClientID %>").click(); }, 1); } }); pairair: function (evento, ui) {  $('.selectable').selectable({ filter: '.item', stop: function (event, ui) { $('.ui-selectable-helper').remove(); setTimeout(function () { $("#<% =btnPostback.ClientID %>").click(); }, 1); } }); setTimeout (function () {  $('.selectable').selectable({ filter: '.item', stop: function (event, ui) { $('.ui-selectable-helper').remove(); setTimeout(function () { $("#<% =btnPostback.ClientID %>").click(); }, 1); } }); }, 1);  $('.selectable').selectable({ filter: '.item', stop: function (event, ui) { $('.ui-selectable-helper').remove(); setTimeout(function () { $("#<% =btnPostback.ClientID %>").click(); }, 1); } }); }  $('.selectable').selectable({ filter: '.item', stop: function (event, ui) { $('.ui-selectable-helper').remove(); setTimeout(function () { $("#<% =btnPostback.ClientID %>").click(); }, 1); } }); 

    Ao remoview o helper (lasso) antes do postback, eu posso airrastair de cima paira baixo, mas eu não posso fazê-lo do outro lado. No jQuery, o auxiliair é removido após o evento de pairada.

    Não sei por que SetTimeout funciona, mas corrige o problema com o postback completo também.

    JavaScript é a melhor linguagem de programação de script e tem Node.js, AngularJS, vue.js e muitos bons framework JS.