2011-01-28 79 views
0

我想建立一個簡單的下拉列表爲我的MVC應用程序。我有一個方法,讓我一個列表,它具有帳戶名稱,編號,刪除等等屬性,並擁有不同的銀行賬戶。然而建設DropDownList和Asp.Net MVC

 public ActionResult AccountTransaction(AccountTransactionView model) 
    { 
     List<AccountDto> accounts = Services.AccountServices.GetAccounts(false); 

     AccountTransactionView v = new AccountTransactionView(); 
     v.Accounts = (from a in accounts 
         select new SelectListItem 
           { 
            Text = a.Description, 
            Value = a.AccountId.ToString(), 
            Selected = false 
           }); 



     return View(); 
    } 

,它的失敗,說我不能IEnumerable的SelectListItem轉換爲:

在我的控制,我打電話這一點,那麼使用LINQ,試圖建立一個SelectItemList ......像這樣的SelectList。

我AccountTransactionView的定義是這樣的:

public class AccountTransactionView 
{ 
    public SelectList Accounts { get; set; } 
    public int SelectedAccountId { get; set; } 

} 
+0

可能重複(HTTP:/ /stackoverflow.com/questions/4833652/asp-net-mvc-with-drop-down-list-and-selectlistitem-assistance) – 2011-01-29 08:28:13

回答

1

一個的SelectList是包含SelectListItems的包裝。您可以通過傳入IEnumerable和可選的所選項目來創建SelectList。

編輯: 對不起,我不是很清楚。我的意思是,你應該通過自己在construstor代替了IEnumerable使用的SelectList與IEnumerable的:

List<AccountDto> accounts = Services.AccountServices.GetAccounts(false); 

    AccountTransactionView v = new AccountTransactionView(); 
    v.Accounts = new SelectList(
         (from a in accounts 
         select new SelectListItem 
            { 
             Text = a.Description, 
             Value = a.AccountId.ToString(), 
             Selected = false 
            } 
         ) 
         ); 

    return View(); 
} 
[Asp.Net MVC的下拉列表,並SelectListItem援助]的
+0

我以爲我是這麼做的。我在上面的代碼中做錯了什麼? – Craig 2011-01-28 21:50:36