2017-04-14 2 views
0

ASP, 검도 및 프로그래밍에 익숙하지 않습니다. Kendo Grid를 사용하여 데이터베이스를 CRUD하려고합니다. 하지만 나는 일종의 길을 잃었습니다.각도 및 검도 UI가있는 ASP.Net MVC

나는 간단한 클래스를 가지고 있습니다 : 이름, 성을 가진 사람. 생성 된 컨트롤러 및 뷰가 제대로 작동하므로 데이터베이스를 CRUD 할 수 있습니다.

`angular.module("KendoDemos2", ["kendo.directives"]) 
    .controller("MyCtrl2", function ($scope) { 
     $scope.mainGridOptions = { 
      dataSource: new kendo.data.DataSource({ 
       transport: { 
        read: { url: "/Person/Read", dataType: "json" }, 
        create: { url: "/Person/Create", dataType: "json", type: "POST" }, 
        update: { url: "/Person/Update", dataType: "json", type: "PUT" }, 
        destroy: { url: "/Person/Delete", dataType: "json", type: "DELETE" }, 
        parameterMap: function (options, operation) { 
         if (operation !== "read") { 
          console.log(options) 
          return kendo.stringify(options); 
         } 
        } 
       }, 
       batch: false, 
       pageSize: 10, 
       schema: { 
        model: { 
         id: "Id", 
         fields: { 
          Name: { type: "string }, 
          Surname: { type: "string" }       } 
        } 
       } 
      })` 

문제는 다음과 같습니다 :

첫째, 나는 "만들기"를 누를 때 나는 그리드에 새로운 사람을 만들 때, 나는 '돈

그런 다음, 사용 각도 나는이 모듈을 생성 데이터가 컨트롤러로 전달되는지 확인하십시오.

둘째, 컨트롤러에서이 정보를받는 방법을 알지 못합니다 (json, 나는 믿습니다).

죄송합니다, 저는 완전 초급자입니다.

편집

나는 컨트롤러에이 방법이 있습니다 {이름 : "존", 성/방법을 만들기

[HttpPost] 
     public ActionResult Create(Person model) 
     { 
      if (model != null) 
      { 
       return Json("Success"); 
      } 
      else 
      { 
       return Json("An Error Has Occurred"); 
      } 
     } 

그래서,이는 사람에게 전송되는을 " Doe "}

다음 중 성공을 표시합니다.

그러나 Json에서 이러한 속성을 가져 와서 모델을 채우려면 어떻게해야합니까?

+0

'사용중인 편집기는 무엇입니까?'SO에게 환영합니다. – mvermef

+0

안녕하세요, 감사합니다. :) 저는 Visual Studio 2015입니다. – Migu3litto

+0

데이터가 다른 호출로 어떻게 움직이는 지 알기 위해 중단 점을 사용하고 싶습니다. 코드 블록의 여백 근처의 화면 왼쪽에있는 편집기에서 왼쪽 가장자리 근처에서 작업하면 북마크와 같이 다른 것들을 토글 할 수 있지만 중요한 것은 때때로 브레이크 포인트는 코드 실행이 빨간색의 색상을 일시 중지하고 "디버깅"@ 해당 위치를 허용하므로 모든 것에 대해 볼 수 있습니다 해당 코드와 관련된 – mvermef

답변

0

좋습니다.

  • POST = 만들
  • GET = 잘 서버에 브라우저에서 요청 유형의 맥락에서 = 정확히
을 삭제합니다
  • PUT = 업데이트
  • 받기

    그래서 동사은 HTTP와 연결되어 있습니다. hich RESTful APIS가 있습니다. 대부분이 더 많은 것을보아야합니다. 이 대답의 범위 뒤에 있습니다..

    전화의 성격 상으로는 전송 한 데이터 유형과 같은 특정 내용이 Content-Type: application/json에 있음을 이미 알고 있습니다.

    내가 놀랐던 그 방법에서 누락 된 한 가지는 [FromBody]이었습니다. 당신이 그것을 직접 스캐 폴딩하지 않고 코드화 된 코드를 직접 코딩하지 않는 한. 누군가 밖으로 시작하는 것을 이해할 수 있습니다. :)

    break points if 문 옆에 배치하면 model에 실제로 게시물의 내용이 채워 졌는지 확인할 수 있습니다.

    [HttpPost] //because we want to create (new Person(){}) right? 
    public ActionResult Create([FromBody] Person model){ 
        if(model != null && model.IsValid){ 
    
         //EntityFramework or what ever DB you are using 
         _context.Person.Add(model); 
         _context.SaveChanges(); 
    
         //doing this returns to the client that it was created as well as the 
         //Id of the newly inserted record. model.Id was automagically updated with the Id. 
         return Created("api/person/create", model); 
        } 
        else{ 
        //something was horribly wrong with the model sent 
        return BadRequest("Invalid Model"); 
    } 
    } 
    

    나는 그 질문의 광범위한 스트로크를 다룰 것이라고 생각합니다. 난 당신이뿐만 아니라 사용할 수있는 asp.net 그래서 JsonResult의 이전 버전을 사용하는 생각 BadRequest and CreatedApiControllerAsp.net Core

  • 0

    mvermef 사용하거나 Controller되는 가정의 모든 설명을 주셔서 대단히 감사합니다. EF와 함께 ASP.Net MVC 5를 사용하고 있습니다. 나는 당신이 말한대로했고 완벽하게 작동합니다.

    처음에는 웹 API를 포함하지 않았지만 [FromBody] 작업을하려면 필자가 필요했습니다. 또 다른 작지만 중요한 것은이었다

    는 검도 구성에 contentType이 포함됩니다 생성 : {URL : "/ 사람/만들기", dataType와 "JSON"입력 : "POST", ContentType을 : "응용 프로그램/JSON을; charset = utf-8 "},

    +0

    다행 당신을 위해 :) – mvermef