-1
我有一个状态下拉在我的MVC应用程序,并调用帮助器方法来填充下拉列表。在多次选择相同的值时,下拉将重置为默认值“选择状态”,而不是正确的状态。MVC Html.DropDownListFor不绑定在选择相同的值
HTML查看
<div>
@Html.LabelFor(m => m.Pat.StateId)
@Html.DropDownListFor(m => m.Pat.StateId, listHelper.GetState(Model.Pat.StateId))
@Html.ValidationMessageFor(m => m.Pat.StateId)
</div>
助手代码
public static IList<SelectListItem> GetStateOptions(int? selectedId = null)
{
var lookupService = DependencyResolver.Current.GetService<IConstantsHelper>();
var result = lookupService.GetAll<State>().Select(x => new SelectListItem
{
Value = x.Id.ToString(),
Text = x.Text,
Selected = selectedId.HasValue && selectedId == x.Id
}).OrderBy(x => x.Text).ToList();
result.Insert(0, new SelectListItem { Value = "", Text = "Select state...", Disabled = true, Selected = result.Any(x => !x.Selected)});
return result;
}
您可以从下拉列表中选择它的工作原理,再向下打开下拉列表,选择相同的项目,并将其重置为空?你能解释更多... – Emad
**多于一次的相同值,下拉正在重置**请问您能详细说明一下吗? – Shyju
如果你把'@(Model.Pat.StateId)'放在某处,它是否显示你期望的值? –