Если вы хотите получить второй результат, убедитесь, что этот помощник @Html.DropDownListFor
находится внутри формы:
@using (Html.BeginForm())
{
@Html.DropDownListFor(model => model.Code, null, "--SelectThis--")
<input type="submit" value="OK" />
}
Также передача null
в качестве второго аргумента вряд ли будет работать. Вы, вероятно, имели в виду:
@using (Html.BeginForm())
{
@Html.DropDownListFor(
model => model.Code,
new SelectList(ViewBag.TestList, "Value", "Text"),
"--SelectThis--"
)
<input type="submit" value="OK" />
}
и я настоятельно рекомендую следующее:
Модель:
public class Test
{
[Required(ErrorMessage = "Must Be Select ")]
public string TestList { get; set; }
public IEnumerable<SelectListItem> TestList { get; set; }
}
Контроллер:
public ActionResult Index()
{
var selectList = new Dictionary<string, string>
{
{ "33", "33 value" },
{ "22", "22 value" },
{ "11", "11 value" },
};
var model = new Test
{
Code = "11",
TestList = selectList.Select(x => new SelectListItem
{
Text = x.Value, Value = x.Key
})
};
return View(model);
}
Вид:
@using (Html.BeginForm())
{
@Html.DropDownListFor(
model => model.Code,
new SelectList(Model.TestList, "Value", "Text"),
"--SelectThis--"
)
<input type="submit" value="OK" />
}