Dropdownlist를 작성하려고하지만 Html.DropDownList 렌더링과의 대결을 시도하고 있습니다.드롭 다운 목록 및 SelectListItem 지원을 사용하는 Asp.Net MVC
public class AccountTransactionView
{
public IEnumerable<SelectListItem> Accounts { get; set; }
public int SelectedAccountId { get; set; }
}
지금은 기본적으로 내보기 모델 :
나는 클래스가 있습니다. 계정 목록 및 선택한 항목을 반환하기위한 속성 내 컨트롤러에서
,이 같은 데이터가 준비 :
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")
) %>
:
감사합니다. @Darin Dimitrov - 그게 효과가 있었지만 시도가 잘못되었습니다. 어쩌면 설명 할 수 있니? – Craig
@cdotlister, 확실하지는 않지만 문제는 컨트롤러 액션에 잘못된 모델을 전달한다는 사실과 관련이있을 수 있습니다. –
감사. 게시 한 직후에이를 발견했습니다. – Craig