3
POST가 진행되는 동안 위의 오류가 발생했습니다. 오류가 발생하는 근본 원인은 "DropDownListFor"입니다 (복수형 SelectList가 두 번 호출 됨). 그렇다면 솔루션을 제안 하시겠습니까?이 개체에 대해 정의 된 매개 변수없는 생성자가 없습니까?
"x => x.Values"에서 "x => x.Name"으로 변경하면 "또한 'DDLView.Name'키가있는 'IEnumerable'유형의 ViewData 항목이 없습니다. "
편집기 템플릿
@model DropDownListViewModel
@Html.LabelFor(x=>x.Values, Model.Label)
@Html.DropDownListFor(x=>x.Values, Model.Values)
보기 모델
public class HomePageViewModel
{
public DropDownListViewModel DDLView { get; set; }
}
public class DropDownListViewModel
{
public string Label { get; set; }
public string Name { get; set; }
public SelectList Values { get; set; }
}
컨트롤러
public ActionResult Index()
{
HomePageViewModel homePageViewModel = new HomePageViewModel();
homePageViewModel.DDLView = new DropDownListViewModel
{
Label = "drop label1",
Name = "DropDown1",
Values = new SelectList(
new[]
{
new {Value = "1", Text = "text 1"},
new {Value = "2", Text = "text 2"},
new {Value = "3", Text = "text 3"},
}, "Value", "Text", "2"
)
};
}
[HttpPost]
public ActionResult Index(HomePageViewModel model)
{
return View(model);
}
보기
@model Dynamic.ViewModels.HomePageViewModel
@using (Html.BeginForm())
{
@Html.EditorFor(x=>x.DDLView)
<input type="submit" value="OK" />
은}
thnx는 답장을하지만 VIEW에 작성해야하며 편집기 템플릿은 무엇입니까? – user584018