首次加载表单时,我将下拉列表设置为“ - 选择项目 - ”。提交表单后,我没有看到选定的项目被选中。它再次设置为'--Selected Item--'。可能是什么问题?
<%= Html.DropDownList("lstDetails", new SelectList((IEnumerable)ViewData["DetailList"], "ID", "Details"), "--Select Item--")%>
谢谢..
答案 0 :(得分:0)
我假设您希望将所选项目保存在某处。
<%: Html.DropDownFor(selectedId, new SelectList((IEnumerable)ViewData["DetailList"], "ID", "Details", (IEnumerable)ViewData["DetailList"].FirstOrDefulft(x => x.Id == selectedId), "--SelectItem--") %>
您需要存储选择项目的信息。我在这里使用了一个名为
的intint selectedId
我假设你的detailList项目中有一个Id字段。
答案 1 :(得分:0)
最简单的方法是将SelectList放入模型中。 (只需确保在模型的构造函数中创建SelectList)。
查看:
<%= Html.DropDownList("lstDetails", Model.DetailList)%>
控制器:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult MyController(MyModel model)
{
return View(model);
}
型号:
class MyModel
{
public SelectList DetailList;
public MyModel()
{
DetailList = new SelectList(....
}
}
因此,在您回发后,如果您使用相同的模型返回视图,那么表单将与您提交表单前的内容相同。