Pergunta

Eu tenho esse link, em um esforço para implementar login AJAX em, na minha página:

<%= Ajax.ActionLink("Log On", "LogOn", "Account", new AjaxOptions {
    UpdateTargetId = "lll",
    Confirm = "blah"}) %>

Há uma div com id lll nas proximidades. Quando clico no link, recebo a confirmação blah (apenas adicionado para fins de depuração, o comportamento sem ele é a mesma coisa), mas, em seguida, nada acontece. Nenhum pedido já atinge o servidor (porque eu tenho um ponto de interrupção no método de ação LogOn). Isso é no Chrome e IE8. No FF3 ele abre a vista de logon, mas como uma página, não baixá-lo através de AJAX.

Todas as idéias que pode estar errado?

Foi útil?

Solução

O problema era que o link de ação ajax faz um pedido POST por padrão e que estava sendo dirigido para o outro método de logon (aquele aceitar POST) e é por isso que eu não estava atingindo o ponto de interrupção Além disso, ele estava falhando porque o dados POST necessário não estava sendo enviado. Adicionando HttpMethod do link de ação fixa-lo:

<%= Ajax.ActionLink("Log On", "LogOn", "Account", new AjaxOptions {
    UpdateTargetId = "lll",
    Confirm = "blah",
    HttpMethod = "Get"}) %>

Outras dicas

Parece que existe algum erro de javascript na página fazendo com que o javascript inserido para manipular a solicitação AJAX não fogo. Você já olhou para ele em FireBug no carregamento da página para ver se todo o seu Javascript carregamento corretamente? Além disso, não suas versões de bibliotecas da Microsoft javascript corresponder à versão do MVC que você está usando? Lembro-me pelo menos uma vez na progressão das versões que eu tinha que atualizar manualmente minhas versões das bibliotecas do Microsoft javascript no meu projeto. Se seu projeto tem existido através de múltiplas versões do MVC, eu sugiro rastrear as novas bibliotecas (criar um novo projeto e copiá-los para o seu antigo ou abra o arquivo de projeto no diretório de instalação e extraí-los à mão) e instalá-los .

Você incluiu ajax scripts de cliente na seção head:

  • MicrosoftMvcAjax.js
  • MicrosoftAjax.js
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top