none
Ler ViewBag em uma partialview RRS feed

  • Pergunta

  • eu to carregando meu formulario por ajax.

        public ActionResult CarregaFormulario(string tipo)
        {
          switch (tipo)
          {
            case "Aluno":
              List<SelectListItem> cursos = new List<SelectListItem>();
              foreach (var item in db.Cursos.Where(p => p.Apagado == false))
              {
                cursos.Add(new SelectListItem() { Text = item.Nome, Value = item.Codigo });
              }
              ViewBag.cursos = cursos;
              return PartialView(String.Format("~/Views/Usuario/Aluno.cshtml", tipo));
            case "Monitor":
              List<SelectListItem> setores = new List<SelectListItem>();
              foreach (var item in db.Setores.Where(p => p.Apagado == false))
    	        {
    		        setores.Add(new SelectListItem(){ Text = item.Nome, Value = item.ID.ToString()});
    	        }
              ViewBag.setores = setores;
              return PartialView(String.Format("~/Views/Usuario/Monitor.cshtml", tipo));
          }
        }
    

    so q na nas minhas partialview eu nao consigo pegar o valor da viewbag, alguem sabe como eu faço??

    quarta-feira, 27 de julho de 2011 06:47

Respostas

  • Oi,

     

    Não há mistério, basta acessar ViewBag.cursos e ViewBag.setores.

    Porém, de acordo com o código acima, você está agregando em um único método a renderização de várias views, implementando no meu de um case lógicas específicas de cada view.

    Seria melhor se cada view tivesse seu próprio método.

     

    Abs,
     
    Dennes
    Treinamento de Silverlight 4.0 iniciando nesta 2a feira, 1/08 - http://www.bufaloinfo.com.br/turmas.asp
    WebCast gratuito : MVVM no Windows Phone e outros truques - http://www.bufaloinfo.com.br/tfest/default.aspx?pg=evtDetalhes&idEvento=927

     


    Dennes - Se resolveu, classifique a mensagem, por favor - [http://www.bufaloinfo.com.br] NOVO DVD Segurança no ASP.NET : http://www.bufaloinfo.com.br/LearingSeriesSegurancaASPNET2.asp
    • Marcado como Resposta Vinicius Leal quinta-feira, 28 de julho de 2011 00:30
    quarta-feira, 27 de julho de 2011 20:01

Todas as Respostas

  • Oi,

     

    Não há mistério, basta acessar ViewBag.cursos e ViewBag.setores.

    Porém, de acordo com o código acima, você está agregando em um único método a renderização de várias views, implementando no meu de um case lógicas específicas de cada view.

    Seria melhor se cada view tivesse seu próprio método.

     

    Abs,
     
    Dennes
    Treinamento de Silverlight 4.0 iniciando nesta 2a feira, 1/08 - http://www.bufaloinfo.com.br/turmas.asp
    WebCast gratuito : MVVM no Windows Phone e outros truques - http://www.bufaloinfo.com.br/tfest/default.aspx?pg=evtDetalhes&idEvento=927

     


    Dennes - Se resolveu, classifique a mensagem, por favor - [http://www.bufaloinfo.com.br] NOVO DVD Segurança no ASP.NET : http://www.bufaloinfo.com.br/LearingSeriesSegurancaASPNET2.asp
    • Marcado como Resposta Vinicius Leal quinta-feira, 28 de julho de 2011 00:30
    quarta-feira, 27 de julho de 2011 20:01
  • Cara,

     

    Não testei aqui mas...  o erro não esta aqui nesta linha???

    DE

     return PartialView(String.Format("~/Views/Usuario/Monitor.cshtml", tipo)  

    PARA 

    return PartialView(String.Format("~/Views/Usuario/Monitor.cshtml", cursos)

    e ai você utilize o CURSOS como model???

     

    Tenta ai e avisa ok?


    http://fparmezani.wordpress.com
    quarta-feira, 27 de julho de 2011 22:20
  • é realmente é normal. agora fui testar e funcionou!

    Obrigado

    quinta-feira, 28 de julho de 2011 00:29
  • entao esse string format eu esqueci de tirar, é pq eu estava fazendo de outro modo tipo assim

    return PartialView(String.Format("~/Views/Usuario/{0}.cshtml", cursos);

    pra retornar a view do tipo que recebi com parametro.

    quinta-feira, 28 de julho de 2011 00:30