데이터를 백엔드 저장소에 저장하는 데 주로 사용되는 컨트롤러 동작이 많습니다. 지금은 대부분 다음과 같은 서명을 사용합니다.FormCollection 매개 변수를 사용하여 ASP.NET MVC, JSON 게시 컨트롤러 동작
//
// POST: /WidgetZone/Create
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Create(FormCollection collection)
보시다시피 FormCollection을 허용합니다. 클래식 사용자보기에서는 정상적으로 작동합니다. 이제 JSON을 사용하여 이러한 작업을 수행하려고합니다. 그리고는이 같은 JsonPox 액션 필터를 사용하여 수행
//
// POST: /WidgetZone/Create
[JsonPox]
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Create(FormCollection collection)
이 작업이 FormCollection을이 작품을 기대하고 언제?
는 예를 들어 문제 (물론 나는이 행동으로 그것을 전달하는 내 자바 스크립트 클라이언트 측에서 JSON 객체를 생성)없이이 작품은 :
//
// POST: /WidgetZone/Create
[JsonPox]
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Create(string id, string description)
그것은 모든 비동기로 포스트 백 UI를 변환하는 작업에 관한 것입니다 하나, 그래서 저장 및 업데이 트가 비동기 수행됩니다. 나는 올바른 길을 가고 있는가? 별도의 Json, XML 또는 고전적인 ViewResult 액션을 개발하는 것이 최선의 방법은 아니라고 생각합니다.
은 도움말
의견을 보내시겠습니까? 예를 들어 예외가 없으면 "Create successful"을 반환하고, 문제가 발생하면 "Create failed"를 반환합니다. 컨트롤러 내에서 ViewData [ "Message"] = "Success"로 수행 한 다음 뷰 자체에서 ViewData에 액세스합니다. Json에서이 텍스트를 반환하는 방법은 무엇입니까? 내 모델 클래스에 추가 속성을 추가해야합니까? 예를 들어, 속성 LastActionResult를 WidgetZone 클래스로? 그런 다음 생성 된 객체 Json을 직렬화하고이 속성도 포함됩니다. ?? – mare
예, 필터는 ViewData에있는 것이 아닌 모델의 내용 만 직렬화하기 때문에 모델에 속성을 추가해야합니다. –