JSON 및 jQuery가 포함된 복잡한 개체 배열을 ASP.NET MVC 컨트롤러에 게시
문제:
복잡한 개체 배열을 ASP.NET MVC 컨트롤러 작업에 전달하는 방법과 컨트롤러 작업은 어떤 매개변수를 허용해야 합니까?
컨트롤러 작업 방법:
컨트롤러 작업 방법에는 IList
클라이언트 측 코드:
사용 jQuery를 사용하여 객체 배열을 JSON 문자열로 변환하고 이를 올바른 데이터 유형 및 콘텐츠 유형 헤더와 함께 AJAX 요청을 통해 컨트롤러로 보냅니다.
클라이언트측 코드 - 향상된 기능:
JSON 콘텐츠를 더 잘 처리하려면 Json.NET 라이브러리를 사용하고 JsonDataType을 역직렬화할 배열 유형으로 설정하세요. 이를 통해 ASP.NET MVC 작업을 수동으로 구문 분석하지 않고도 역직렬화된 개체에 직접 바인딩할 수 있습니다.
ASP.NET MVC 컨트롤러 작업 장식:
컨트롤러 작업을 다음으로 장식합니다. 들어오는 JSON 요청을 가로채고 올바른 객체를 작업으로 역직렬화하는 [JsonFilter]와 같은 사용자 정의 속성 매개변수입니다.
JsonFilter속성 코드:
public class JsonFilter : ActionFilterAttribute { public string Param { get; set; } public Type JsonDataType { get; set; } public override void OnActionExecuting(ActionExecutingContext filterContext) { if (filterContext.HttpContext.Request.ContentType.Contains("application/json")) { string inputContent; using (var sr = new StreamReader(filterContext.HttpContext.Request.InputStream)) { inputContent = sr.ReadToEnd(); } var result = JsonConvert.DeserializeObject(inputContent, JsonDataType); filterContext.ActionParameters[Param] = result; } } }
위 내용은 JSON 및 jQuery를 사용하여 ASP.NET MVC 컨트롤러에 복잡한 개체 배열을 게시하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!