이전에 물어 본 적이 있지만 여기에 있는지 확실하지 않습니다.MVC 업데이트 모델
HTML과 MVC 응용 프로그램이 비슷합니다.
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<EnvironmentalVandals.Controllers.MonthlyItemsFormViewModel>" %>
나는 컨트롤러에 다음을 가지고 있습니다.
[Authorize]
public ActionResult Edit(int? id)
{ snip }
그런 다음 제출 단추 이벤트에서;
[AcceptVerbs(HttpVerbs.Post)]
[Authorize]
public ActionResult Edit(FormCollection collection)
{
CalendarItem fvm = new CalendarItem();
UpdateModel(fvm);
}
기존 이벤트를 업데이트하는 경우 문제가 없습니다. 새 이벤트를 추가 할 때 UpdateModel이 모델을 업데이트하지 못했다는 오류가 발생합니다.
첫 번째 ActionResult에서 "int? id"매개 변수를 제거하면 모델이 새 이벤트와 기존 이벤트 모두에서 업데이트됩니다.
이벤트를 편집 할 때 다음 HTML을 사용합니다. <%=Html.ActionLink("Edit", "Edit", new {id=Model.Event.id}) %>
새 이벤트를 만들 때 <%=Html.ActionLink("Add event","Edit", "Calendar") %>
을 사용합니다.
이제 아마 업데이트와 생성 모두에 대해 동일한 View를 사용해서는 안되며 아마도 두 개의 뷰와 PartialView로 리팩토링해야합니다.
그래서 해결책인가, 아니면 내가 잘못하고있는 다른 것이 있습니까?
미리 감사드립니다.
</griegs>
그래, 코드의 나머지 부분은 좀 지루하지만 당신이 말하는 것처럼. 나는 새로 생성 된 객체를 전달하려고 시도했는데 그 객체를 더미 데이터로 채워 넣으려고했는데, null 허용되지 않는 필드를 어딘가에 놓쳤습니다. 아직도 기쁨이 없습니다. [유일한] 문제는 제출 버튼의 포스트 백에서 UpdateModel을 시도 할 때 발생합니다. –