我在模型中定义了此下拉列表
tipoUsuario = new List<SelectListItem>();
tipoUsuario.Add(new SelectListItem { Text = "Sin tipo", Value = "4" });
tipoUsuario.Add(new SelectListItem { Text = "1 - Super usuario", Value = "1"});
tipoUsuario.Add(new SelectListItem { Text = "2 - Administrador", Value = "2" });
tipoUsuario.Add(new SelectListItem { Text = "3 - Usuario", Value = "3" });
public List<SelectListItem> tipoUsuario { get; set; }
视图显示元素列表,每个元素都有一个下拉列表,每个元素必须具有基于控制器值的不同默认选择值。现在我显示“管理员”,但我想要默认值...
if (@item.type == "2")
{
@Html.DropDownListFor(x => item.type, item.tipoUsuario, "Administrator")
}
我正在尝试很多选择,但我不知道该怎么做,请帮助我
提前打扰你!
答案 0 :(得分:1)
您需要在SelectListItem上将“Selected”属性设置为true。您可以创建一个人口方法,如:
public IEnumerable<SelectListItem> PopulateTipoUsuario(string default){
var tipo = from t in source
select new SelectListItem
{
Text = t.Text,
Value = t.Value,
Selected = t.Text == default
};
return tipo;
}
源变量将是您原来的SelectListItems集合:
var source = new List<SelectListItem>();
tipoUsuario.Add(new SelectListItem { Text = "Sin tipo", Value = "4" });
tipoUsuario.Add(new SelectListItem { Text = "1 - Super usuario", Value = "1"});
tipoUsuario.Add(new SelectListItem { Text = "2 - Administrador", Value = "2" });
tipoUsuario.Add(new SelectListItem { Text = "3 - Usuario", Value = "3" });