4
GET 및 POST 표준 편집 시나리오가 있습니다. 양식에 저장 버튼과 조회 버튼이있어서 사용자가 주소를 채우고 우편 번호를 반환하는 우편 번호를 조회 할 수 있습니다. 양식 필드. 조회 단추는 컨트롤러 편집 방법에 다시 게시됩니다.MVC POST가 수정 된보기 모델을 반환하지 않습니다.
다음은하지 실제 코드입니다하지만 내 문제를 보여줍니다 ...
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Edit(int CustomerId, string LookupButton)
{
Customer customer = new Customer();
UpdateModel(customer);
//customer.County = "Hello world!";
return View(customer);
...
}
이 코드는 예상대로, 그냥 내가 직접 카운티 필드를 변경하는 행의 주석을 해제하지만 때, 기존의 폼 데이터를 반환하지 않습니다 변경 사항은 양식에 표시되지 않습니다. 이 형식으로 인해 나를 던졌습니다.
<%= ViewData.Eval("County") %>
"Hello world!" 그러나
<%= Html.TextBox("County") %>
은 여전히 이전 값을 유지합니다.
<input id="County" name="County" type="text" value="" />
고객은 EF4 클래스입니다.
도움을 주시면 감사하겠습니다.
하지만를 수행하는 경우 그 결과 동일한는 여전히으로 Request.Form의 값을 구해 I 밀어 수 없다 읽기 전용이기 때문에 거기에 값이 있습니다. –
Mark
데이터가 ModelState에서 오는 것 같습니다. 내가 발행 할 경우 ViewData.ModelState.Clear(); 보기를 반환하기 전에 예상대로 작동합니다. – Mark
비슷한 문제가있었습니다. 새 모델을 반환하지만 게시 된 모델에서 하나의 값을 재사용하는 "저장하고 계속하기"버튼이 애플리케이션에 있습니다. 그러나 어떤 이유로 든 모든 값을 반환했습니다. ModelState를 지우는 것이 트릭을 만들었습니다! –