Inquiridor
Preencher Textbox ou DropDown conforme resultado da lista

Pergunta
-
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>
-
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 VS2010Maricelmo
-
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>
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