none
RenderPage atualizar uma Section. RRS feed

  • Pergunta

  • Boa tarde,

    tenho o seguinte cenário.

    Na Div Content tenho um botão que executa uma requisicão AJAX com UpdateTargeID = "DIVAJAX" preenchendo um @WebGrid, onde tenho um botao detalhes na primeira coluna, ao clicar no botão detalhes o seguinte código é executado afim de adicionar uma Partial View a Section Exibir_Detalhes

    @if (gridProdutos.HasSelection)
        {
            @section Exibir_Detalhes{
                @RenderPage("~/Views/Produto/_DetalhesProduto.cshtml", new { Produto = gridProdutos.SelectedRow })
            }
        }

    Porém, nada acontece quando clica em selecionar, caso eu mande carregar o PartialView dentro da DIVAJAX, funciona perfeito ou se eu tirar o UpdateTargetID = "DIVAJAX" também funciona, porém, sempre ocorre o POST.
    Como poderia ao final do código que faz o RenderPage em uma section fazer a Section/DIV atualizar.

    Obrigado.


    quarta-feira, 13 de junho de 2012 15:29

Respostas

  • Tenta assim:

    $.post("http://localhost:58205/home/Detalhes/", {idDoProduto : 1}, function(hmtl)

    {

    //atualiza o html na div de detalhes

    });

            [HttpPost]
            public ActionResult Detalhes(int idDoProduto)
            {
                return View("Detalhes", _repositorio.GetById(idDoProduto));
            }


    http://www.linkedin.com/pub/murilo-kunze/44/191/455


    • Editado Murilo Kunze quarta-feira, 13 de junho de 2012 16:49
    • Marcado como Resposta eeeeeeeeeeeeee5 quarta-feira, 20 de junho de 2012 17:04
    quarta-feira, 13 de junho de 2012 16:48

Todas as Respostas

  • Não sei se entendi direito mas se entendi, acho que não da para fazer isso..

    Porque você não pega o html da view com ajax através do botão de detalhes e atualiza na div de detalhes?


    http://www.linkedin.com/pub/murilo-kunze/44/191/455


    • Editado Murilo Kunze quarta-feira, 13 de junho de 2012 16:31
    quarta-feira, 13 de junho de 2012 16:13
  • Somente para esclarecer um pouco mais, está 'funcionando' a Partial View está indo carregando e tudo so que porém não é renderizado na tela, por que a DIV de detalhes não fez um 'update'.

    Eu pensei em fazer algo como o que você falou de fazer este link gerar ã Partial View, pegar o HTML de retorno e colocar dentro de detalhes com ReplaceWith(), porém, como este botão é do próprio grid eu somente sei utilizar ele desta forma.

    @if (gridProdutos.HasSelection)
        {
            @section Exibir_Detalhes{
                @RenderPage("~/Views/Produto/_DetalhesProduto.cshtml", new { Produto = gridProdutos.SelectedRow })
            }
        }
    E o que eu preciso é que quando rodar este RenderPage a section Exibir_detalhes renderiza os dados.
    quarta-feira, 13 de junho de 2012 16:27
  • Tenta assim:

    $.post("http://localhost:58205/home/Detalhes/", {idDoProduto : 1}, function(hmtl)

    {

    //atualiza o html na div de detalhes

    });

            [HttpPost]
            public ActionResult Detalhes(int idDoProduto)
            {
                return View("Detalhes", _repositorio.GetById(idDoProduto));
            }


    http://www.linkedin.com/pub/murilo-kunze/44/191/455


    • Editado Murilo Kunze quarta-feira, 13 de junho de 2012 16:49
    • Marcado como Resposta eeeeeeeeeeeeee5 quarta-feira, 20 de junho de 2012 17:04
    quarta-feira, 13 de junho de 2012 16:48
  • Murilo, obrigado pela ajuda, porém também nào atualizou.

    Tentei fazer até de outras formas seguindo o seu conceito e também não consegui fazer esta alteração.


    segunda-feira, 18 de junho de 2012 13:25
  • A chamada está passando pela action?

    O retorno do post é o html da action Detalhes?

    Está ocorrendo algum erro de js?

    Como você está fazendo para atualizar a div com o retorno do post?


    http://www.linkedin.com/pub/murilo-kunze/44/191/455

    segunda-feira, 18 de junho de 2012 18:37
  • A chamada está passando pela action?

    O retorno do post é o html da action Detalhes?

    Está ocorrendo algum erro de js?

    Como você está fazendo para atualizar a div com o retorno do post?


    http://www.linkedin.com/pub/murilo-kunze/44/191/455

    Esta passando pela Action.

    É o HTML

    Não.

    Estou alterando que estou achando que a falha está aqui.

    quarta-feira, 20 de junho de 2012 17:04
  • Já tentou usar 

    return PartialView("div",object); //renderizar uma view dentro da div

    return Content("texto"); //renderizar texto dentro da div



    Não esqueça de marcar o post como útil caso tenha te ajudado.


    • Editado Marco Souza quinta-feira, 21 de junho de 2012 20:23
    quinta-feira, 21 de junho de 2012 20:21