MVC 애플리케이션을 작성 중이며 Knockout.js가 프로세스에서 제외하고 많은 문제를 해결할 것이라고 판단했습니다. 새로운 문제는 내가 문제를 풀고있다.asp.net MVC with Knockout MVC with javascript
모든 MVC 끝점을보기 만 반환하도록 변환 한 다음 JSON 개체를 반환하는 여러 다른 끝점을 만들었습니다. 사용자가 웹 사이트를 탐색하면 사이트에서 기본 UI 프레임을로드합니다. 그 후에, Knockout.js는 AJAX 호출을 통해 모델을로드합니다. 이로 인해 모든 페이지가로드 된 다음 페이지가로드되고 모든 데이터가있는 MVC 만있는 위치로 다시로드됩니다.
나는 동시에 두 가지를 모두로드하는 방법을 찾고 있었지만 사이트를 완전히 리팩터링 할 필요가없는 것은 찾지 못했습니다. 보기 엔드 포인트에
- 로 병합 JSON 엔드 포인트 및
@Html.Raw(Json.Encode(object))
를 사용하여 코드 숨김에서 JSON으로 모델을 변환하지만 내 모든 순수 JSON 엔드 포인트의 탐을 얻을 수 있습니다 최선의 선택이었다.
JSON 끝점 데이터를 서버 측의보기로 전달할 수있는 다른 방법이 있습니까? 또는 모델과 뷰를 동시에로드 할 수있는 방법은 무엇입니까?
답변 해 주셔서 감사합니다. 같은 페이지에 있는지 확인할 수 있도록 JSON 끝점을 호출해야합니다. 뭔가 : var model = @ Html.Action ("Data", "Items") 여기서 model은 js입니까? –
업데이트 용 JSON 끝점 만 호출하십시오. ViewModel 객체를 만들고 자바 스크립트로 상호 작용하는 경우 해당 객체와 상호 작용하는보기 만 있어야하며 AJAX 요청을 캡슐화하는 메소드 (Controller 끝점을 사용)가 있어야합니다. 이렇게하면 주기적으로 캐싱 또는 업데이트와 같은 지능적인 작업을 수행 할 수 있습니다. –
자, 내 뷰 끝점에서 JavaScript로 변환 된 모델을 반환해야하며 해당 모델의 업데이트 된 버전을 반환하는 json 끝점이 있어야합니까? 이 경우 코드 중복을 제거하려면 어떻게해야합니까? –