获取所选下拉列表项的ID

时间:2012-01-20 01:02:25

标签: asp.net-mvc

我是mvc的新手,我需要一些帮助。  我有这个模特课:

Public Class PostCategories


Public Property ID() As Integer


Public Property Name() As String

Public Property Slug() As String

Public Property ParentID() As Integer

我在我看来有这个下拉列表:

 @Html.DropDownList("IDList", New SelectList(Model, "Id", "ID"), "Selected Parent")

我想将ID放在下拉列表中,而不是ID,而是将ID保存到数据库中。我该怎么做?需要帮助。

2 个答案:

答案 0 :(得分:1)

假设您的视图模型是PostCategories列表,那么只需使用:

@Html.DropDownList("IDList", New SelectList(Model, "ID", "Name"), "Selected Parent")

答案 1 :(得分:0)

正如Beyers所说,将代码更改为

就足够了
@Html.DropDownList("IDList", New SelectList(Model, "ID", "Name"), "Selected Parent")

其中SelectList构造函数的第二个参数是您希望在表单提交时传递的所选项的值,并且必须反映您的某个Model属性的名称,因此必须是“ID”而不是“Id” 。 第二个参数是下拉列表中显示的项目名称,在这种情况下,您应该使用“名称”,因为它可能是您要使用的属性。 (可选)您可以传递第四个参数,该参数是页面加载时的选定值。

另一种方法是在控制器中构建SelectList并使用ViewBag传递它:

ViewBag.PostCategoriesId = new SelectList(yourPostCategoriesList, "ID", "Name");

然后在View中你的代码就像:

@Html.DropDownList("PostCategoriesId", string.Empty)