由于某种原因,当我发回表单时,下拉列表中的 SelectedId 始终为空。模型中的项目不为空,只是 SelectedID。除了下拉选择之外,我的模型的所有其他值都很好。这是与我的下拉列表相关的所有代码。有任何想法吗?谢谢!
PS - 我正在为下拉菜单使用模板,当我在我的 cshtml 视图中使用 @Html.EditorForModel() 时,下拉菜单是从我的模型自动创建的。
模板:
@model AFUEMVC.Models.DropDownModels.DropDownViewModel
@Html.DropDownListFor(x => x.SelectedId, new SelectList(Model.Items, "Value", "Text", Model.SelectedId))
模型:
//Dropdowns
[Display(Name = "Fire Type"),]
public DropDownViewModel FireTypeItems { get; set; }
视图模型:
public class DropDownViewModel
{
public string SelectedId { get; set; }
public IEnumerable<SelectListItem> Items { get; set; }
}
编辑: 我正在通过以下方式填写我的下拉列表。
public void GenerateDropDowns(BasicIdentificationModel model)
{
///////////////////////DROP DOWNS
model.FireTypeItems = GetFireTypeItems();
/////////////////////////////////////
}
public DropDownViewModel GetFireTypeItems()
{
DropDownViewModel newdd = new DropDownViewModel();
newdd.Items = new[]
{
new SelectListItem { Value = "1", Text = "IA" },
new SelectListItem { Value = "2", Text = "Extended Attack" },
new SelectListItem { Value = "3", Text = "Large Fire Support" },
};
return newdd;
}
[HttpPost]
public ActionResult BasicIdentificationIndex(BasicIdentificationModel returndata)
{
GenerateDropDowns(returndata);
SaveDB(returndata);
return RedirectToAction("DispatchResponseIndex", "DispatchResponse");
}