루프 내에서 Location
유형의 개체를 List<Location>
속성에 추가하려고합니다.C# nullreference 예외를 나열합니다. ASP.net MVC
CONTROLLER :
[HttpPost]
public ActionResult Index([Bind(Include = "CitySearch")]HomeViewModel model)
{
List<CityIdentity> ids = null;
ids = service.GetNamesId(model.CitySearch);
foreach (var id in ids)
{
var loc = service.GetLocation(id.CityId);
var location = new Location
{
CityId = id.CityId,
Place = loc.Place,
};
model.Locations.Add(location);
}
}
뷰 모델 :
public class HomeViewModel
{
public string CitySearch { get; set; }
public List<Location> Locations { get; set; }
}
model
HomeViewModel
이며
Locations
속성 유형
List<Location>
이다.
model
은
HttpPost
양식의 인스턴스이며보기에 양식을 제출하지 않았습니다.
디버깅 중이며 model.Locations.Add(location)
에 오류가 발생하여 object reference not set to an instance of an object.
및 nullref 예외가 발생합니다.
아이디어가 있으십니까?
'위치 '는 아마도 null입니다. 아마도 모델 바인더가 그 유형을 놓치게 만드는 마크 업 문제 일 것입니다. – asawyer
개체에'model'이 어떻게 할당되어 있습니까? – keeg
모델의 생성자에서 속성을 초기화하는 것이 좋으므로 다음을 추가 할 수 있습니다.위치 = 새 HashSet(); –
torm