Pergunta

Eu estou usando asp.net ajax versão 1.0 em asp.net 2.0. (Eu ainda não pode atualizar para o 3.5)

Eu tinha um PageMethod que são chamados por Javascript. Isso funcionou perfeitamente até que eu adicionei um UpdatePanel para outra parte da página. Agora, quando eu executar a página com debug ligado O ponto de interrupção no PageMethod nunca é chamado. quando eu olho no Firebug para o que é retornado quando o correio para o PageMethod é chamado, noto que a página aspx inteira é devolvido em vez de apenas o valor chamadas. O que eu fiz?

Aqui está a chamada JavaScript para o PageMethod:

function EndRequestHandler(sender, args) {
    $('#selectedCHK').change(
        function() {
            var chkedInput = $('#selectedCHK');
            var networkRead = chkedInput[0].checked;
            PageMethods.ChangeSelectedNetworkReadFlag(routeNum, 
                                                      networkRead, 
                                                      function(msg) { alert(msg);  });
        }
    );
}
$(document).ready(function() {
    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
}

O ponto de ter a função EndRequestHandler chamado no final de cada pedido é que o item com o id '#selectedCHK' está dentro do painel de atualização e o evento precisa ser ajustado cada vez que o UpdatePanel é atualizado.

Foi útil?

Solução 2

Eu descobri isso e foi um problema de configuração. Especificamente eu precisava para adicionar:

<httpModules>
    <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</httpModules>

dentro do .

Eu pensei que eu tinha configurado o site corretamente, mas eu decidi ir através do documentação passo a passo.

Outras dicas

Tente configurar a UpdateMode a condicional no seu painel de atualização. Soa como o painel de atualização é sequestrando os seus eventos.

<asp:UpdatePanel ID="upMyPanel" UpdateMode="Conditional" runat="server">
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top