Pergunta

Eu estou usando projeto ASP.NET MVC e jQuery para lidar com assíncrono solicitações. Às vezes, para um pedido assíncrono eu preciso uma inicialização JavaScript trecho a ser devolvido e executado juntamente com um trecho de HTML (eu quero isso JavaScript a ser processado no servidor).

Por enquanto eu estou usando minha própria classe ScriptsHelper com um método RegisterStartupScript () (acrescenta dados para HttpContext.Current.Items). Então, em global.asax HttpApplication.EndRequest () para solicitações assíncronas I anexar todos os scripts registrados para a saída (entre as tags). jQuery.fn.load () executa-los com êxito quando o HTML recebido é anexado ao DOM - este é exatamente o que eu preciso. Você acha que isso é (bom) solução "correta", ou talvez você pode sugerir algo melhor? Obrigado.

Foi útil?

Solução

Eu encontrei uma situação semelhante em um projeto antes que eu comecei usando jquery e acabou recorrer a usar eval(). Eu estava voltando de um trecho de texto javascript como parte do valor de um elemento DOM não-visível, juntamente com o resto do HTML eu estava inserir no DOM.

Eu tinha um monte de problemas de depuração este tipo de javascript gerado dinamicamente no IE6 para que esta solução funcionou decentemente para mim, porque eu poderia inspecionar o valor do elemento DOM que foi ficando eval'd. No entanto, eu sempre fui desconfiado de usando eval.

Parece que a sua solução tem uma arquitetura razoável para a prestação do lado do servidor em oposição ao meu spaghetti-code e esta técnica parece que se encaixa bem com o espírito de jQuery.fn.load então eu não me preocuparia muito muito.

Outras dicas

Sim, eu acho que jQuery está chamando eval () internamente para você - você está usando append? Penso que esta técnica funciona muito bem na maioria das vezes. Se os dados retornados do servidor está em uma lista que se repete você pode querer olhar usando a função ao vivo adicionado ao jQuery 1.3 Ele permite anexar um evento para todos os elementos atuais e futuros que correspondem à sua selector. Verificação geral estes artigos:

Além disso, como outra coisa a considerar é um ferramenta para ajudar a gerir scripts e css para asp.net mvc . Tenho vindo a utilizar este e eu adoro isso, pois combina arquivos, bem como compressas eles. Você pode configurar tudo de você na web de configuração também.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top