2012-01-20 20 views
0

私はmvcを初めて使用しています。 私は、このモデルクラスがあります。選択したドロップダウンリスト項目のIDを取得します

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を保存したいですデータベース。どうすればいい?助けが必要pls。あなたのビューモデルがPostCategoriesのリストであると仮定すると、

答えて

1

は、単に使用します。

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

Beyersは

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

の2番目のパラメータにコードを変更するのに十分であるべきで、言ったようにSelectListコンストラクタは、フォーム送信時に渡す選択項目の値であり、Modelプロパティの名前を反映する必要があります。したがって、 "Id"ではなく "ID"でなければなりません。 2番目のパラメータは、ドロップダウンに表示されるアイテムの名前です。この場合は、使用するプロパティとして「名前」を使用する必要があります。 オプションで、ページ読み込み時に選択された値である4番目のパラメータを渡すことができます。

別のアプローチは、コントローラであなたのSelectListのを構築し、このようViewBagを使用して、それを渡すために、次のようになります。

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

[表示で、あなたのコードは次のようになります:

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