저는 MVC3을 처음 사용 합니다만, 지금까지는 제 코드가 훌륭하게 유지되고 있습니다.양식에 모델에 추가 한 다음 양식을 다시 추가하십시오.
이제 사용자가 직원 이름을 나타내는 텍스트 문자열을 입력 할 수있는 간단한 양식을 만들고 싶습니다. 그런 다음이 양식을 제출하여 내 모델에 일종의 목록으로 저장하고자합니다. 양식을 다시 표시해야하고 for-each 루프는 이미 추가 된 이름을 기록합니다. 작업을 마쳤고이 정보를 데이터베이스에 저장해야합니다.
내가 알아낼 수없는 것은 데이터베이스에 저장하기 전까지이 임시 정보를 저장하는 방법입니다. 제가 제출할 때마다 밀어 붙이기는하지만 할 수있는 일이 있습니다.
여러분도 제가 뭘 하려는지보고 희망적인 해결책이 있기를 바랍니다. :)
이 내가 할 노력했습니다 무엇의 단순화 된 버전입니다 :
모델에게
public class OrderModel
{
public virtual ICollection<Employees> EmployeesList { get; set; }
public virtual Employees Employees { get; set; }
}
public class Employees
{
[Key]
public int ID { get; set; }
public string Name { get; set; }
}
보기
@model OrderModel
@{
if (Model.EmployeesList != null)
{
foreach (var c in Model.EmployeesList)
{
@c.Name<br />
}
}
}
@using(Html.BeginForm())
{
@Html.TextBoxFor(m => m.Employees.Name)
<input type="submit" value="Add"/>
}
컨트롤러
[HttpPost]
public ActionResult Index(OrderModel model)
{
model.EmployeesList.Add(model.Employees);
// This line gives me the error: "System.NullReferenceException: Object reference not set to an instance of an object."
return View(model);
}
감사합니다. 이 접근 방식은 완벽하게 작동했습니다. – holaq