none
Preencher Textbox ou DropDown conforme resultado da lista RRS feed

  • Pergunta

  • Bom dia!

    Como faço para preencher um Textbox
    ou DropDown conforme o resultado de uma lista.

    trago uma lista de meu BD de dados.

    caso a lista tenha apenas um elemento
    Preencho o TextBox se não Preencho
    DropDown.


    Maricelmo

    terça-feira, 6 de outubro de 2015 12:37

Todas as Respostas

  • A codificação seria basicamente assim:

    Código:

    public ActionResult Lista()
    {
    	ViewBag.Status = ' ';
    
    	ICollection<KeyValuePair<int, string>>  Lista = GetLista();
    
    	if (Lista.Count > 1)
    	{
    		//dropdown
    		ViewBag.Status = 'L';
    		ViewBag.Lista = new SelectList(GetLista(), "Value","Key");
    	}
    	else if (Lista.Count() == 1)
    	{
    		//textbox
    		ViewBag.Status = 'T';
    		ViewBag.Text = GetLista().First().Value;
    	}
    
    	return View();
    }
    
    private ICollection<KeyValuePair<int, string>> GetLista()
    {
    	return new List<KeyValuePair<int, string>>
    	{
    		new KeyValuePair<int, string>(1, "Item 1")
    	};
    }

    View:

    @{
        Layout = null;
    }
    
    <!DOCTYPE html>
    
    <html>
    <head>
        <meta name="viewport" content="width=device-width" />
        <title>Lista</title>
    </head>
    <body>
        <div> 
            @switch ((char)ViewBag.Status)
            {
                case 'L':
                    {
                        @Html.DropDownList("Lista")
                        break;
                    }
                case 'T':
                    {
                        @Html.TextBox("Item", (string)ViewBag.Text)
                        break;
                    }
            }
        </div>
    </body>
    </html>
    


    Fulvio Cezar Canducci Dias

    terça-feira, 6 de outubro de 2015 12:54
  • bom dia. Fulvio!

    obrigado por sua resposta.

    tenho este codigo mais ou menos assim.

           public static string ConsultaMarcaModelo(int prmMarcaModelo_Id)
            {
                BDDataContext db = new BDDataContext();

                return db.MarcaModelos.Where(x => x.Id == prmMarcaModelo_Id && x.Excluido == 'N').FirstOrDefault().Descricao;
            }

    Preencho direto o DropDown

          <div class="span4">
                <asp:Label ID="Label4" runat="server" class="span3 text-info" Text="Modelo:"></asp:Label>
                <asp:DropDownList ID="ddlmodelo" runat="server" CssClass="texto_ddl">
                </asp:DropDownList>
            </div>

    Uso o VS2010

    Maricelmo

    sexta-feira, 9 de outubro de 2015 14:02
  • A codificação seria basicamente assim:

    Código:

    public ActionResult Lista()
    {
    	ViewBag.Status = ' ';
    
    	ICollection<KeyValuePair<int, string>>  Lista = GetLista();
    
    	if (Lista.Count > 1)
    	{
    		//dropdown
    		ViewBag.Status = 'L';
    		ViewBag.Lista = new SelectList(GetLista(), "Value","Key");
    	}
    	else if (Lista.Count() == 1)
    	{
    		//textbox
    		ViewBag.Status = 'T';
    		ViewBag.Text = GetLista().First().Value;
    	}
    
    	return View();
    }
    
    private ICollection<KeyValuePair<int, string>> GetLista()
    {
    	return new List<KeyValuePair<int, string>>
    	{
    		new KeyValuePair<int, string>(1, "Item 1")
    	};
    }

    View:

    @{
        Layout = null;
    }
    
    <!DOCTYPE html>
    
    <html>
    <head>
        <meta name="viewport" content="width=device-width" />
        <title>Lista</title>
    </head>
    <body>
        <div> 
            @switch ((char)ViewBag.Status)
            {
                case 'L':
                    {
                        @Html.DropDownList("Lista")
                        break;
                    }
                case 'T':
                    {
                        @Html.TextBox("Item", (string)ViewBag.Text)
                        break;
                    }
            }
        </div>
    </body>
    </html>


    Fulvio Cezar Canducci Dias

    Bom dia! 
    Entendi perfeitamente sua logica, porem 
    como mencionei uso visual studio 2010
    e não encontrei esta ViewBag.Status.
    sera que preciso de alguma classe?

    Maricelmo

    segunda-feira, 7 de março de 2016 14:47