私は、DropDownListコントロールを構築しようとしているが、Html.DropDownListレンダリングと戦っています。ドロップダウンリストでAsp.Net MVC、およびSelectListItem援助
私はクラスがあります。
public class AccountTransactionView
{
public IEnumerable<SelectListItem> Accounts { get; set; }
public int SelectedAccountId { get; set; }
}
基本的には今の私の見解モデルです。 Accountsのリスト、および選択された項目を返すためのプロパティ。私のコントローラで
、私はこのようなデータが準備:
public ActionResult AccountTransaction(AccountTransactionView model)
{
List<AccountDto> accounts = Services.AccountServices.GetAccounts(false);
AccountTransactionView v = new AccountTransactionView
{
Accounts = (from a in accounts
select new SelectListItem
{
Text = a.Description,
Value = a.AccountId.ToString(),
Selected = false
}),
};
return View(model);
}
今問題:
<%=Html.DropDownList("SelectedAccountId", Model.Accounts) %>
:私はその後、私の見解では、ドロップダウンを構築しようとしています
キー「SelectedAcを持って
ViewDataをアイテム:
私は、次のエラーを取得していますcountId 'は' System.Int32 '型ですが、' IEnumerable '型でなければなりません。
なぜそれは私が項目のリスト全体を返すようにしたいですか?私はちょうど選択された値が欲しい。私はこれをどのようにしなければならないのですか?また、私は第二引数にSelectList
を使用していることに気づく
<%= Html.DropDownListFor(
x => x.SelectedAccountId,
new SelectList(Model.Accounts, "Value", "Text")
) %>
:
ありがとう@ダーリンディミトロフ - それはうまくいった - しかし、私の試みで何が間違っていたのか分かりません。多分説明することができますか? – Craig
@cdotlister、わからないが、問題は、あなたのコントローラのアクションに間違ったモデルを集めているという事実に関連している可能性があります。 –
ありがとうございます。投稿直後にそれを見つけました。 – Craig