Array
(
)

Crud com DropDownListFor

Carlos Junior
|
MVP
Pontos: 100
    31 mar 2016

Bom dia Galera.
Eu sou programador WindowsForms, estou apanhando muito com a parte web,
#Código

            <div class="form-group">
                @Html.LabelFor(model => model.STAT, htmlAttributes: new { @class = "control-label col-md-2" })
                <div class="col-md-10">
                    @Html.EditorFor(model => model.STAT, new { htmlAttributes = new { @class = "form-control" } })
                    @Html.ValidationMessageFor(model => model.STAT, "", new { @class = "text-danger" })
                </div>
            </div>

eu preciso mudar esse EditorFor para um DropDownListFor, apenas três itens , alguem consegue me ajudar?
eu tentei fazer dessa forma.
No Controller
#Código
     public class ListTpStat
        {
            public int TpStatId { get; set; }
            public string TpStatNome { get; set; }

            public List<ListTpStat> ListaStat()
            {
                return new List<ListTpStat>
            {
                new ListTpStat { TpStatId = 1, TpStatNome = "XML"},
                new ListTpStat { TpStatId = 2, TpStatNome = "TXT"},
            };
            }
        }

e na view ficou assim:
#Código
   @*<div class="editor-field">
                @Html.DropDownList("ListStatId", String.Empty)
                @Html.ValidationMessageFor(Model => Model.STAT)
            </div>*@

Alguem consegue me ajudar como fazer para isso funcionar??

Randrade
   - 01 abr 2016

Você pode fazer isso de várias formas, mas na View ficaria asism:

#Código

	@Html.DropDownListFor(model => model.TpStatId , new SelectList(Items, "Value", "Text")) 


Lembrando que o TpStatId é o valor da propriedade onde quer que salve o item selecionado.

Olhe um exemplo completo no DotNetFiddle.

Eu pessoalmente aconselho esta abordagem aqui.