2011-01-28 15 views
0

MVCアプリケーションの単純なドロップダウンリストを作成しようとしています。私は、アカウント名、ID、削除された等を持つプロパティを持っている私にリストを取得するメソッドを持っている...と別の銀行口座を保持しています。私のコントローラでDropDownListとAsp.Net MVCを構築する

、私はこのような... SelectItemListを構築しようと、LINQのを使用して、その後、これを呼び出しています:

 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を変換することはできませんと言って、失敗していますSelectList。

私AccountTransactionViewは次のように定義されています

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

} 
+0

[ドロップダウンリストでAsp.Net MVC、およびSelectListItem支援]が重複する可能性(のhttp:/ /stackoverflow.com/questions/4833652/asp-net-mvc-with-drop-down-list-and-selectlistitem-assistance) –

答えて

1

SelectListのはSelectListItemsが含まラッパーです。選択リストを作成するには、IEnumerableとオプションで選択した項目を渡します。

編集: 申し訳ありませんが、本当にはっきりしませんでした。私は何を意味することは、それ自体で代わりのIEnumerableのconstrustorにIEnumerableを持つSelectListのを使用する必要があるということです。

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(); 
} 
+0

私はそれをやっていると思った。上記のコードで何が間違っていますか? – Craig

+0

私は自分のデータクラスをパブリックIEnumerable Accounts {get;を使用するように変更しました。セット; }、それはコードをコンパイルすることができますが、それは正しいですか? – Craig

+0

あなたのデータクラスにSelectListを保持し、残りの部分について私の編集した答えを見てください。 –

関連する問題