>백엔드 개발 >C++ >JSON 및 jQuery를 사용하여 ASP.NET MVC 컨트롤러에 복잡한 개체 배열을 게시하는 방법은 무엇입니까?

JSON 및 jQuery를 사용하여 ASP.NET MVC 컨트롤러에 복잡한 개체 배열을 게시하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2025-01-02 20:25:38916검색

How to Post an Array of Complex Objects to an ASP.NET MVC Controller Using JSON and jQuery?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.