我的 OpenTestplanListViewModel 有一个 DisplayList,其中 3 个项目绑定到 DropDownList。
当用户明确选择 DropDownList 中的任何项目时,始终会自动选择第一个项目。
使用 ListBoxFor 而不是 DropDownListFor 我没有这个问题。是否有可能告诉 DropDownListFor “最初不要选择任何项目!” ?
@model ITMS.Web.Models.OpenTestplanListViewModel
@{
Layout = null;
}
@using (Html.BeginForm("Open", "Testplan"))
{
@Html.ValidationSummary(false)
@Html.DropDownListFor(x => x.TestplanIdAndTemplateId, new SelectList(Model.DisplayList, "TestplanIdAndTemplateId", "Name"), new { @class = "listviewmodel" })
}
public class OpenTestplanListViewModel
{
[Required(ErrorMessage = "No item selected.")]
public string TestplanIdAndTemplateId { get; set; }
public IEnumerable<OpenTestplanViewModel> DisplayList { get; set; }
public int? SelectedTestplanId
{
get
{
return !String.IsNullOrEmpty(TestplanIdAndTemplateId) ? Convert.ToInt32(TestplanIdAndTemplateId.Split(new[] { '_' }).First()) : (int?)null;
}
}
public int? SelectedTemplateId
{
get
{
return !String.IsNullOrEmpty(TestplanIdAndTemplateId) ? Convert.ToInt32(TestplanIdAndTemplateId.Split(new[] { '_' }).Last()) : (int?)null;
}
}
}