Inquiridor
setar valor inicial para um Html.DropDownList

Pergunta
-
Tenho uma página onde está declarado assim meu dropdownlist
@Html.DropDownList("dep_id", null, htmlAttributes: new { @class = "ls-field" })
Os dados são carregados de uma tabela e tudo está funcionando, sendo que eu queria que o valor inicial desse driopdownlist fosse "selecione um departamento" value = "0" e não que ele me mostrasse o primeiro registro da tabela.
Junior
Todas as Respostas
-
-
-
-
-
Junior,
Vejo 3 formas de resolver:
1- A confirmação pode ser feita com base no valor do dropdown, validando com jQuery ficaria assim:
$('#dep_id').val() == ''
2 - No C# a propriedade/campo que recebe o valor do dropdown estará com o valor default, acredito que o campo seja um int, se for int o valor será 0 e se for int? será null.
3- Ao criar a ViewBag.dep_id, você insere um registro fake na lista de departamentos:
A terceira opção você precisa trocar os objetos e campos de acordo com a sua classe, fiz um exemplo baseado no código que você postou.var depts = db.DEP_DEPARTAMENTO.Where(dd => dd.cli_id == codempr).OrderBy(dd => dd.dep_nome).ToList();
depts.Insert(0, new DEP_DEPARTAMENTO()
{
cli_id = //seu valor default,
dep_nome = "Selecione um Departamento"
});
ViewBag.dep_id = new SelectList(depts, "dep_id", "dep_nome", uSU_USUARIO.dep_id);
Att,
LeandroSe foi útil, marque como útil ou como resposta.