我認爲這將是一件容易的事,但我現在已經掙扎了一段時間了。處理MVC組合框值
我有Sport
對象屬於一些SportGroup
對象。
我想表示一個組合框裏面組,我創建SportViewModel.cs
具有以下屬性
HTTPGET創建行動
SportViewModel newSport = new SportViewModel();
newSport.SportGroups = new SelectList(GetAllSportGroups(), "Id", "Name");
//GetAllSportGroups() returns list of SportGroups domain objects as you can imagine.
我創建視圖看起來像這樣
@model Models.SportViewModel
<div>Sport group</div>
<div>@Html.DropDownListFor(x => x.SportGroupId, Model.SportGroups)</div>
現在在控制器的httpPost
行動我收到數據並嘗試將其保存:
[HttpPost]
public ActionResult Create(SportViewModel newSport)
{
// if model state is valid and other checking omitted
// session and transaction omitted
Sport sport = new Sport();
sport.Id = newSport.Id;
sport.Name = newSport.Name;
SportGroup sportGroup = session.Load<SportGroup>(SportGroupId);
sport.SportGroups.Add(sportGroup); // here is where I'm getting an error
}
提交後,我得到這些錯誤
對象引用不設置到對象的實例。
引用線sport.SportGroups.Add(sportGroup);
請幫助。 謝謝
類型的新對象,所有包含的集合等也initalized和實例session.Load(SportGroupId);正確填充了SportGroup對象。 –
Grunf
是的確 - 但運動對象上的'.SportGroups'屬性怎麼樣? –