Asp.net MVC는 컨트롤러에서 Kendo Grid 데이터를 역 직렬화합니다.

제보

ASP.NET MVC 4 응용 프로그램이 있습니다. Kendo.Grid가있는 View가 있고 컨트롤러에서 그리드의 데이터를 ajax (JSON.stringify)와 함께 보내고 싶습니다.

내 문제는 내 컨트롤러가 문자열 목록을 수신하고 Json 데이터를 역 직렬화하는 방법을 모른다는 것입니다.

암호

이것은 그리드의 행에 포함 된 객체입니다.

public class CourseDto
{
    public string CodCourse { get; set; }
    public string DesCourse { get; set; }
}

다음은 내보기의 그리드 정의입니다.

@(Html.Kendo().Grid<CourseDto>()
    .Name("GridCourses")
    .Columns(columns =>
    {
        columns.Bound(c => c.CodCourse);
        columns.Bound(c => c.DesCourse);
    })
    .DataSource(dataSource => dataSource
        .Ajax()
        .ServerOperation(false)
        .Read("GetAllCourses", "ControllerCourses")
    )
)

이것은 jquery를 사용하는 컨트롤러에 대한 ajax 호출입니다.

function passTheGrid() {
    $.ajax({
        url: "@Url.Action("ShowCourses")",
        type: "POST",
        data: {
            courses : JSON.stringify($("#GridCourses").data("kendoGrid").dataSource.data());
       },
        success: function (response) {
            $("#coursesDiv").html(response);
        }
    });
}

이것이 컨트롤러입니다.

[HttpPost]
public PartialViewResult ShowCourses(List<string> courses)
{
    JavaScriptSerializer js = new JavaScriptSerializer();
    List<string> temp= new List<string>();
    foreach (var singleCourse in courses)
    {
        temp.Add(js.Deserialize<string>(singleCourse));
    }
    ...
    return PartialView("_viewCourses");
}

내 예에서는 그리드에 cource 만 있고 컨트롤러에서 ajax로 데이터를 전달할 때 매개 변수 "courses"에 다음 문자열이 포함됩니다.

[{"CodCourse":"PRIVSIC0102006","DesCourse":"MULTIMEDIA - PRIVACY AND SECURITY"}]

하지만 역 직렬화하려고하면이 오류가 발생합니다.

'System.String'유형은 행렬의 역 직렬화에 지원되지 않습니다.

질문

컨트롤러에서 JSON 데이터를 올바르게 역 직렬화하려면 어떻게해야합니까?

제보

코드 변경을 해결했습니다.

Ajax에 전화

function passTheGrid() {
    var o = kendo.observable({
        myCourses: $("#GridCourses").data("kendoGrid").dataSource.data()
    });
    var courses = JSON.stringify(o);
    $.ajax({
        url: "@Url.Action("ShowCourses")",
        type: "POST",
        data: {
            courses : courses ,
        success: function (response) {
            $("#coursesDiv").html(response);
        }
    });
}

ajax 호출은 다음 데이터를 전달합니다.

{"myCourses":[{"CodCourse":"PRIVSIC0102006","DesCourse":"MULTIMEDIA - PRIVACY AND SECURITY"}]}

컨트롤러

[HttpPost]
public PartialViewResult ShowCourses(string courses)
{
    var coursesJson = JObject.Parse(courses).SelectToken("myCourses").ToString();

    var coursesList = JsonConvert.DeserializeObject<List<CourseDto>>(coursesJson);
    ...
    return PartialView("_viewCourses");
}

코스 목록에는 CourseDto 개체가 포함됩니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

ASP.NET / MVC의 컨트롤러에 직렬화 된 양식과 번호를 게시하려고합니다.

분류에서Dev

ASP.NET WebAPI ApiController에서 ASP.NET MVC 컨트롤러로 데이터를 어떻게 전달합니까?

분류에서Dev

ASP.Net MVC 컨트롤러에서 JSON 데이터를 게시하는 방법은 무엇입니까?

분류에서Dev

spring-data-rest 및 컨트롤러는 직렬화 / 역 직렬화에 동일한 objectMaper를 사용합니다.

분류에서Dev

ASP.net MVC는 컨트롤러 함수에서 ajax 데이터에 액세스 할 수 없습니다.

분류에서Dev

ASP.NET MVC 5 컨트롤러에서 JSON에서 추상 매개 변수로 역 직렬화하는 방법

분류에서Dev

다른 컨트롤 입력에 따른 kendo (Asp.Net MVC) 그리드 데이터 결과

분류에서Dev

ASP.NET MVC 데이터가 사용 된 부분보기에서 컨트롤러로 오지 않습니다.

분류에서Dev

ASP.NET MVC 컬렉션이 컨트롤러에서 비어 있습니다.

분류에서Dev

ASP.NET MVC에서 Grid.mvc로 데이터를 내보내는 방법

분류에서Dev

ajax를 사용하는 컨트롤러 (ASP.Net MVC)에서 입력 값이 null입니다.

분류에서Dev

ASP.NET MVC : 다른 컨트롤러에서 컨트롤러 호출

분류에서Dev

컨트롤러 asp.net mvc의 html5 웹 양식에서 데이터를 가져 오는 방법은 무엇입니까?

분류에서Dev

ASP.NET Core MVC-뷰에서 컨트롤러로 모델 데이터 다시 전달

분류에서Dev

ASP.NET Core MVC-뷰에서 컨트롤러로 모델 데이터 다시 전달

분류에서Dev

asp.net mvc의 영역에서 컨트롤러에서 작업에 대한 작업 링크를 정의하는 방법

분류에서Dev

ASP.Net MVC의 뷰에서 컨트롤러로 데이터 게시

분류에서Dev

Blazor 앱에서 ASP.NET Core MVC 컨트롤러로 이동하는 방법은 무엇입니까?

분류에서Dev

StackExchange.Redis는 서둘러 Poco를 역 직렬화합니다.

분류에서Dev

동일한 프로젝트의 asp.net mvc 컨트롤러에서 asp.net 웹 API에서 데이터를 가져 오는 방법

분류에서Dev

MVC에서 JSON 데이터를 역 직렬화하는 방법

분류에서Dev

ASP.NET Core없이 컨트롤러에서 자바 스크립트로 Json 데이터를 보내는 방법은 무엇입니까?

분류에서Dev

컨트롤러에서 json 개체를 역 직렬화 할 수 없습니다.

분류에서Dev

ASP.NET MVC 컨트롤러에서 HTML 코드를 작성하는 방법

분류에서Dev

asp.net mvc 6에서 기본 컨트롤러를 추가하는 방법

분류에서Dev

URL에서 액션과 컨트롤러를 숨기는 방법 : asp.net mvc

분류에서Dev

asp.net MVC 컨트롤러의 URL에서 ID를 얻는 방법

분류에서Dev

Asp.Net MVC. 데이터 손실없이 뷰에서 컨트롤러로 데이터를 전송하는 핫

분류에서Dev

ASP.Net MVC Kendo Grid에 대한 사용자 지정 페이징

Related 관련 기사

  1. 1

    ASP.NET / MVC의 컨트롤러에 직렬화 된 양식과 번호를 게시하려고합니다.

  2. 2

    ASP.NET WebAPI ApiController에서 ASP.NET MVC 컨트롤러로 데이터를 어떻게 전달합니까?

  3. 3

    ASP.Net MVC 컨트롤러에서 JSON 데이터를 게시하는 방법은 무엇입니까?

  4. 4

    spring-data-rest 및 컨트롤러는 직렬화 / 역 직렬화에 동일한 objectMaper를 사용합니다.

  5. 5

    ASP.net MVC는 컨트롤러 함수에서 ajax 데이터에 액세스 할 수 없습니다.

  6. 6

    ASP.NET MVC 5 컨트롤러에서 JSON에서 추상 매개 변수로 역 직렬화하는 방법

  7. 7

    다른 컨트롤 입력에 따른 kendo (Asp.Net MVC) 그리드 데이터 결과

  8. 8

    ASP.NET MVC 데이터가 사용 된 부분보기에서 컨트롤러로 오지 않습니다.

  9. 9

    ASP.NET MVC 컬렉션이 컨트롤러에서 비어 있습니다.

  10. 10

    ASP.NET MVC에서 Grid.mvc로 데이터를 내보내는 방법

  11. 11

    ajax를 사용하는 컨트롤러 (ASP.Net MVC)에서 입력 값이 null입니다.

  12. 12

    ASP.NET MVC : 다른 컨트롤러에서 컨트롤러 호출

  13. 13

    컨트롤러 asp.net mvc의 html5 웹 양식에서 데이터를 가져 오는 방법은 무엇입니까?

  14. 14

    ASP.NET Core MVC-뷰에서 컨트롤러로 모델 데이터 다시 전달

  15. 15

    ASP.NET Core MVC-뷰에서 컨트롤러로 모델 데이터 다시 전달

  16. 16

    asp.net mvc의 영역에서 컨트롤러에서 작업에 대한 작업 링크를 정의하는 방법

  17. 17

    ASP.Net MVC의 뷰에서 컨트롤러로 데이터 게시

  18. 18

    Blazor 앱에서 ASP.NET Core MVC 컨트롤러로 이동하는 방법은 무엇입니까?

  19. 19

    StackExchange.Redis는 서둘러 Poco를 역 직렬화합니다.

  20. 20

    동일한 프로젝트의 asp.net mvc 컨트롤러에서 asp.net 웹 API에서 데이터를 가져 오는 방법

  21. 21

    MVC에서 JSON 데이터를 역 직렬화하는 방법

  22. 22

    ASP.NET Core없이 컨트롤러에서 자바 스크립트로 Json 데이터를 보내는 방법은 무엇입니까?

  23. 23

    컨트롤러에서 json 개체를 역 직렬화 할 수 없습니다.

  24. 24

    ASP.NET MVC 컨트롤러에서 HTML 코드를 작성하는 방법

  25. 25

    asp.net mvc 6에서 기본 컨트롤러를 추가하는 방법

  26. 26

    URL에서 액션과 컨트롤러를 숨기는 방법 : asp.net mvc

  27. 27

    asp.net MVC 컨트롤러의 URL에서 ID를 얻는 방법

  28. 28

    Asp.Net MVC. 데이터 손실없이 뷰에서 컨트롤러로 데이터를 전송하는 핫

  29. 29

    ASP.Net MVC Kendo Grid에 대한 사용자 지정 페이징

뜨겁다태그

보관