Meu irmão foi recentemente forçado a usar Ajax, então ele usou o asp.net ajax para implementá-lo. Bem, foi simples e foi feito em poucos cliques... Mas o problema surgiu imediatamente e entrou em conflito com minha url. reescrita. Meu módulo de reescrita de URL foi escrito por mim mesmo. Fiz um filtro e resolvi o problema de localização incorreta de envio do formulário do servidor. ., cheguei ao cnblogs e vi alguém falando sobre esse problema, e na verdade disse que pode ser resolvido modificando a ação fiquei muito confuso, já resolvi o problema da ação há muito tempo e parecia ser o melhor. solução... Então abri um programa hook, capturei o endereço final do post de cada IE, e descobri que após o segundo postback do ajax, o endereço de envio dele (não a ação da página, mas algo chamado form._initialAction gerado). por js dentro do aspnet ajax) será Claro, haverá problemas se você alterá-lo para um caminho relativo, então se você achar que a reescrita de URL está em conflito com o ajax, preste atenção ao testar esse problema e não deixe as coisas passarem online antes de descobrir o problema...Não pense que tudo ficará bem se você modificar a ação...Na verdade, acho que esse problema é um defeito do "ASP.NET AJAX RC1". Não seria melhor ser honesto e simplesmente agir em vez de fazer tantas coisas estranhas? Claro, não entendo seus princípios de design. Acho que ele tem seus próprios motivos. O código relevante para resolver esse problema é o seguinte:
.
Você deve ter notado que este código adiciona um número aleatório ao endereço. Na verdade, é para resolver o último problema (conflito de cache do navegador), mas não foi bem resolvido. . .
OK, o conflito de reescrita foi resolvido e o segundo problema ocorreu novamente. . . Após especulações, acho que é um problema de cache do navegador. Criei uma função para adicionar e excluir tags. Escusado será dizer que adicionar é colocar um ImageButton no Repetidor. Através de seu evento de clique, use CommandName para adicionar a tag atual. enviado de volta e excluído neste momento, o problema ocorreu depois que adicionei várias tags e cliquei em uma delas para excluir, a lista de tags no painel de atualização retornou ao estado antes de adicionar a primeira, então suspeitei que ela fosse armazenada em cache. o navegador. Problema, adicionei estupidamente Response.Cache.SetNoStore();
Response.Cache.SetLastModified(DateTime.Now); espero que possa resolver o problema, mas na verdade é inútil, haha, então usei o código js acima para adicionar um número aleatório ao final da url ao atribuir o formulário. _initialAction, o resultado ainda será inválido. . . Acho que o problema ocorre quando esse número aleatório não tem efeito sempre, mas realmente não tenho tempo para entender os princípios do asp.net ajax em profundidade, então espero que amigos que sabem como resolver esse problema possam ajude-me a resolver primeiro, Xiaodi. Volte e estude novamente.
http://www.cnblogs.com/cnlamar/archive/2007/01/08/614671.html