2012-08-11 195 views
1

假設我有一個用於創建新項目的視圖。項目只包含兩個屬性 - 名稱和組。將數據從控制器傳遞到視圖

所以我想要一個文本框和一個DropDownList的視圖。我使用的是DropDownList,因爲用戶不應該能夠在Group字段中輸入任何他想要的內容 - 已經有一些預定義的組,並且View應該允許用戶選擇一個組。

我有ItemModel類有兩個屬性 - 名稱(字符串)和GroupId(INT)。我的觀點強烈地鍵入到ItemModel。

我的問題如下:我應該如何傳遞一個有效組的列表,應該在DropDownList中作爲一個選擇來呈現?我應該在ItemModel內創建另一個屬性嗎?或者可以使用ViewBag來傳遞它或者做其他事情?

+0

你從數據庫表中獲得組嗎? – Samin 2012-08-11 10:59:22

+0

@Samin:是的。 – xx77aBs 2012-08-11 11:03:02

回答

1

在你的控制器中添加:

ViewBag.MyGroups = new SelectList(db.Groups.Where(t => t.TGroupId == "1").ToList(), "MyGroups", "Description", 1); 

在您添加視圖:

@Html.DropDownList("MyGroups "); 

基本上,做一個新selectionlist並把它傳遞到ViewBag。

+0

我知道可以這樣做,但如果它是正確的做法(如果您考慮MVC設計模式),我會流浪嗎? – xx77aBs 2012-08-11 11:16:50

相關問題