none
Ajuda em ComboBox. RRS feed

  • Pergunta

  • Bom dia/ tarde / noite.

    Estou fazendo um projetinho pequeno em MVC para uma cadeira na faculdade e preciso implementar a seguinte função.

    "Na tela de cadastro de Área, existe um ComboBox que é populado com as Áreas Master, e na hora de cadastrar uma nova área, se for selecionada uma Área Master, a nova área se torna uma sub-área"

    Qual a duvido, preciso de uma forma em que o primeiro campo seja em branco, para que quando for selecionado, a nova área será uma Área Master. 

    Área e sub-área são salvas em uma mesma tabela, onde são diferencias por se tem um id de área master em um campo.

    Segue o trecho do código que popula o campo.

            public ActionResult Index()
            {
                var aREA = db.AREA.Include(a => a.AREA2).OrderBy(a => a.AREA2);
                return View(db.AREA.ToList());
            }

            // GET: Area/Create
            public ActionResult Create()
            {
                ViewBag.ID_AREA_MASTER = new SelectList(db.AREA.Where(a => a.ID_AREA_MASTER.Equals(null)).OrderBy(a => a.NOME), "ID_AREA", "NOME");
                return View();
            }

            // POST: Area/Create
            // To protect from overposting attacks, please enable the specific properties you want to bind to, for 
            // more details see http://go.microsoft.com/fwlink/?LinkId=317598.
            [HttpPost]
            [ValidateAntiForgeryToken]
            public ActionResult Create([Bind(Include = "ID_AREA,NOME,ATIVO,PALAVRA_CHAVE,ID_AREA_MASTER")] AREA aREA)
            {
                if (ModelState.IsValid)
                {
                    db.AREA.Add(aREA);
                    db.SaveChanges();
                    return RedirectToAction("Index");
                }

                ViewBag.ID_AREA_MASTER = new SelectList(db.AREA, "ID_AREA", "NOME", aREA.ID_AREA_MASTER);
                return View(aREA);
            }

    quinta-feira, 19 de novembro de 2015 22:20

Respostas

  • Boa noite.

    Tente o seguinte no Razor:

    @Html.DropDownList("ID_AREA_MASTER", ViewBag.ID_AREA_MASTER as SelectList, "Selecione uma área Master")



    Att., Rafael Simor

    • Sugerido como Resposta SimorC sexta-feira, 20 de novembro de 2015 13:25
    • Marcado como Resposta welington jrModerator segunda-feira, 5 de março de 2018 15:58
    quinta-feira, 19 de novembro de 2015 22:42