SelectListItem
nullで投稿している理由がわかりません。これが私のシナリオです:
public class MyViewModel
{
public int SelectedCategoryId {get;set;
public IList<Category> Categories {get;set}
public IList<SelectListItem> CategoriesSelectListItem
{
get
{
var list = (from item in Categories
select new SelectListItem()
{
Text = item.Name,
Value = item.Id.ToString()
}).ToList();
return list;
}
set { }
}
}
[HttpGet]
public ActionResult Index()
{
IList<Category> categs = repository.GetCategories();
return View(new MyViewModel(){ Categories = categs });
}
[HttpPost]
public ActionResult Index(MyViewModel model) // At this point model.Categories is null on postback
{
if(ModelState.IsValid())
{
// Do some Logic
return Content("Succes!");
}
return View(model); //Throw again the view if model state is not valid
}
景色:
@model MyViewModel
@{
Layout=null;
}
@Html.DropDownListFor(x => x.SelectedCategoryId,Model.CategoriesSelectListItem)
では、Model.Categories WHITHOUT ViewData[""]
またはSession
変数にバインドし続ける方法は?
ありがとう!
更新 1
ビューを追加しました