mvc-3 dropdown binding-razor

时间:2011-06-03 09:37:26

标签: asp.net-mvc-3

我在数据库中有一个名为Person的表,它有各种字段,如id(Guid),forename和lastname。我使用以下代码从数据库中提取它们

有一个名为GetAll的方法,它返回List项目。

在控制器中:

            ClassService p= new ClassService();
            ViewData["Id"]= new SelectList(p.GetAll(),"id","Forename");

在视图中:

               @Html.DropDownList("Id_0",((SelectList)ViewData["Id"]).Items,"none")

它抱怨存在编译错误。那里有什么问题?如果它编译它是否加载到下拉框?

任何人都可以告诉我这样做是否正确,或者我错过了什么。

由于

1 个答案:

答案 0 :(得分:0)

Html.DropDownList()获取您希望调用select的名称,然后使用IEnumerable的SelectListItem()。删除.Item第二个参数,它应该工作。第三个参数是所选项的值。所以我不确定传递“none”除了不在下拉列表中选择任何内容之外会做什么。

此外,我不确定在发布表单时如何处理对模型的绑定。别忘了将一个名为Id_0的整数作为[HttpPost]动作menthod的参数。