나는 다음과 같은 오류 메시지에 문제가 오전 : 라인MVC 오류가 개체의 인스턴스로 설정되지
Object reference not set to an instance of an object.
휴식 :
Line 16: </div>
Line 17: <div class="editor-field">
Line 18: @Html.DropDownList("KPI.CSF.FYID", Model.Financial_Years)
Line 19: @Html.ValidationMessageFor(model => model.KPI.CSF.FYID)
Line 20: </div>
이 양식 중에 발생을 내 mvc 프로젝트에 게시하십시오.
내가 작성 양식을로드 할 때 나는 다음의 뷰 모델을 전달하고있다 :
public class KPICreateFormViewModel
{
//Properties
public KPI KPI { get; set; }
public SelectList Financial_Years { get; private set; }
FYRepository fyrepo = new FYRepository();
public KPICreateFormViewModel(KPI kpi)
{
KPI = kpi;
Financial_Years = new SelectList(fyrepo.GetFys(), "ID", "Financial_Year");
}
}
내가 다음에 ID 번호를 채 웁니다 다른 드롭 다운을 계단식으로 몇 가지 아약스를 시작하는 드롭 다운의 회계 연도를 사용을 내 게시물.
내 회계 연도 드롭 다운이 .. 내 컨트롤러의 HTTP POST 메서드 중 다시 아무것도 게시하고 싶지 않아 그래서 난 그냥 내가 괜찮을 것 다음 다시 전달하면 나는 생각 :
[HttpPost]
public ActionResult Create(KPI kpi)
{
try
{
kpirepository.Add(kpi);
kpirepository.Save();
return RedirectToAction("Details", new { id = kpi.ID });
}
catch
{
return View();
}
}
내가 가정 이 모든 것은 viewmodel을 기반으로하는 내보기와 이후에이 게시물을 나눠주고 있지 않기 때문에 발생합니다. 캐스케이드 코드로 어지러운 시간을 보내고 나서 내 머리가 조금 움직여서이 문제를 해결하려고합니다. 도움!
회계 연도 드롭 다운 보여주는 내보기의 관련 부분 :
@model ES_Business_Intelligence.ViewModels.Admin.KPICreateFormViewModel
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset>
<legend>KPI</legend>
<div class="editor-label">
@Html.LabelFor(model => model.KPI.CSF.FYID)
</div>
<div class="editor-field">
@Html.DropDownList("KPI.CSF.FYID", Model.Financial_Years)
@Html.ValidationMessageFor(model => model.KPI.CSF.FYID)
</div>
감사합니다! – munkee