2010-12-09 69 views
0

当第一次加载表单时,我有一个dropdownlist设置为'--Select Item--'。提交表单后,我看不到所选项目被选中。它再次设置为' - 选择的项目 - '。可能是什么问题呢?提交后设置DropdownList SelectedItem

<%= Html.DropDownList("lstDetails", new SelectList((IEnumerable)ViewData["DetailList"], "ID", "Details"), "--Select Item--")%> 

谢谢..

回答

0

我假设你想保存在某个地方选择的项目。

<%: Html.DropDownFor(selectedId, new SelectList((IEnumerable)ViewData["DetailList"], "ID", "Details", (IEnumerable)ViewData["DetailList"].FirstOrDefulft(x => x.Id == selectedId), "--SelectItem--") %> 

您需要存储选定项目的信息。我这里使用的一个int称为

int selectedId 

我以为你在detailList项目有一个标识字段。

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(.... 
    } 
} 

所以您发布后回来,如果你用相同型号返回视图,则该表格将看起来与提交表单之前一样。