none
Exibir conteúdo na mesma View RRS feed

  • Pergunta

  • Pessoal,

    Tenho uma View que contém um formulário, quando dou um submit nesse formulário gostaria de mostrar o resultado dentro da mesma View que se encontra o formulário, teria como fazer assim?

    O código abaixo está mostrando somente a PartialView, e não o formulário + o resultado(PartialView):

    public ActionResult Busca()
            {
                ConnectionAgendeMe db = new ConnectionAgendeMe();
    
                ViewBag.listEspecialidade = db.Especialidade.ToList();
                ViewBag.listBairro = db.Bairro.ToList();
                ViewBag.listConvenio = db.Convenio.ToList();
    
                return View();
            }
    
            [HttpPost]
            public ActionResult Busca(Busca busca)
            {
                using (ConnectionAgendeMe db = new ConnectionAgendeMe())
                {
                    List<MedicoMetadata> listMedico = (from med in db.Medico
                                      join esp in db.Especialidade on med.Especialidade_ID_ESPECIALIDADE equals esp.ID_ESPECIALIDADE
                                      where esp.ID_ESPECIALIDADE == busca.ID_ESPECIALIDADE
                                      select new MedicoMetadata
                                      {
                                          NOME = med.NOME
    
                                      }).ToList();
    
    
                    return PartialView("Result", listMedico);
                }
            }

    Desde já agradeço a todos!

    terça-feira, 11 de dezembro de 2012 19:55

Todas as Respostas

  • - Você pode setar o resultado da pesquisa dentro de uma propriedade do viewmodel da sua view.

    - Você pode usar RenderAction na sua view passando o 'Busca'.


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

    quarta-feira, 12 de dezembro de 2012 11:13
  • Vc pode utilizar ajax ou jquery para fazer a chamada e renderizar o resultado e montar como desejar.

     public ActionResult Busca(Busca busca)
            {
                using (ConnectionAgendeMe db = new ConnectionAgendeMe())
                {
                    List<MedicoMetadata> listMedico = (from med in db.Medico
                                      join esp in db.Especialidade on med.Especialidade_ID_ESPECIALIDADE equals esp.ID_ESPECIALIDADE
                                      where esp.ID_ESPECIALIDADE == busca.ID_ESPECIALIDADE
                                      select new MedicoMetadata
                                      {
                                          NOME = med.NOME
    
                                      }).ToList();
    
    
                    return this.Json(new { Result = listMedico}, JsonRequestBehavior.AllowGet);}}

    • Editado Romy Moura segunda-feira, 17 de dezembro de 2012 17:37
    segunda-feira, 17 de dezembro de 2012 17:36
  • No metodo que sera executado no HttpPost você continua retornando View() e coloca o List<MedicoMetadata> no ViewBag e manda um foreach na View
    quarta-feira, 19 de dezembro de 2012 14:16