2014-07-11 39 views

回答

0

爲什麼你就不能綁定在視圖本身名單?如果模型包含IEnumerable類型稱爲角色的屬性,然後在你的看法,你可以這樣做:

@Html.DropDownListFor(m => m.RoleId, new SelectList(Model.Roles, "YourDataValueFieldName", "YourDataTextFieldName")) 

換句話說,你可以用你的模型通過滿足IEnumerable接口的任何對象,並將其綁定到在選擇列表的查看自己。

+0

謝謝,這是我在跳過什麼。 – usFarswan

1

簡單 - 使用視圖模型和控制器填寫選擇列表的

型號

public class CreateUserViewModel 
{ 
    public int RoleId { get; set;} 
    public IEnumerable<SelectListItem> RolesSelectList { get; set; } 
} 

控制器

public ActionResult Create() 
{ 
    CreateUserViewModel model = new CreateUserViewModel(); 
    model.RolesSelectList = DAC.GetRoles().Select(role => new SelectListItem() { Text = Role.Name, Value = Role.RoleId.ToString() }); 
    return View(model); 
} 

查看

@model CreateUserViewModel 

@Html.DropDownListFor(model => model.RoleId, Model.RolesSelectList); 
+0

感謝您的評論但我有不同的要求,因爲我沒有在我的表示層使用視圖模型,我正在使用擴展的實體部分類來創建將在視圖中使用的模型,我想寫一個代碼來返回一個代碼列表從DAC層(其中不包含System.Web.Mvc引用,因此沒有IEnumerable ),以便哪種類型的列表我需要從那裏返回,以便我將很容易綁定視圖中的下拉列表 – usFarswan

相關問題