2012-11-30 3 views
0

12 개의 jQuery Mobile 페이지가 필요한 MVC4 웹 앱이 있습니다.jQuery 모바일 웹 앱에 페이지를 동적으로 추가하십시오.

  1. 에 오신 것을 환영합니다
  2. 로그인

하고 많은 다른 사람.

나는 사용자 요청이,

  1. 내 프로젝트에 동적으로 페이지를 추가 할 수있는 가장 좋은 방법은 무엇 인 경우 한 번에 한 페이지를 추가하려면?

  2. 페이지 스크립트 (동적으로 추가 된 페이지)를 포함 할 적절한 사이트는 어디입니까?

  3. Html.ActionLink()에 포함 된 경우 정확히 data-ajax = "false"를 의미합니까?

내 응용 프로그램의 약 90 %가이 때

,하지만 난 일부 페이지를 참조 심각한 문제가 발생, 모든 페이지 뷰에 포함 된 몇 번 렌더링하지는 또는 실행 스크립트를하지는.

답변

2

난 당신이 JQuery와 모바일 페이지를 조직에 다음 옵션이 생각 :

의 (a) 모든 페이지 (클래스 = "페이지"와 div의) 하나의 HTML 파일

이 가장 간단한 방법이며, 파일이 큰 프로젝트에 대한 너무 큰 될 수도 있지만 작동을 보장

를로드 할 때

(b)는 자식 HTML 파일을 연결하는 하나 개의 주 HTML 파일은

사용자 인터페이스 관점에서

, 기본적으로 JQM은 "AJAX 모드"를 사용 자식 페이지, tr 옵션 (a)처럼 유체로서 존재. 단점은 자식 페이지가 완전히로드되지 않았 음을 의미합니다. 즉, 포함 또는 스크립트가 실행되지 않습니다. 로드 할 때 JQM은 class = "page"인 첫 번째 div에 대한 하위 페이지를 파싱하고 div를 추출하여 현재 DOM에 추가합니다.첫 번째 페이지 만로드되므로 하나 이상의 하위 페이지를 가질 수 없습니다.

옵션을 수행하려면 (b)에 정확하게, 당신은 할 수 :

  1. 모든 CSS, JS를 포함

  2. 는 "데이터 아약스 = false"를 지정 모두 초기화 메인 페이지에서 스크립트 나

    를 실행 또는 "rel = external"링크를 클릭하십시오. 이렇게하면 JQM이 링크 된/하위 페이지를 완전히 다시로드하게되지만이 방법을 사용하면 유체 전환이 손실됩니다.

0

내가 과거에 사용한 한 가지 방법은 모두 브라우저에로드되는 단일 기본 페이지를 만드는 것입니다.

나머지 '페이지'는 메인 페이지의 'content'div에로드되는 HTML 청크입니다. 분명히 초기로드시 기본 페이지에 의해로드되는 첫 번째 HTML 청크 인 초기 '페이지'가 있지만 나머지 '페이지'는 필요한대로로드됩니다 (예 : 사용자가 로그인 할 때 링크를 클릭하면, 기타.).

메인 페이지에서 JQuery .Load()를 사용하여 각 '페이지'에 대한 HTML 청크를 가져와 필요에 따라 'content'div에로드했습니다.

스크립트 및 스타일링이 각 HTML 청크 (전체 독립형 페이지의 경우처럼)와 JQuery .Load()가 스크립트 및 응용 프로그램의 모든 실행을 관리하므로 매우 편리하다는 것을 알았습니다. 스타일링.

MVC 측에서는 기본 페이지의보기 만 전체 HTML 페이지 요소를 포함하고 '페이지'콘텐츠의 '컨테이너'로 작동하도록 구성되었습니다. 나머지보기에는 각 '페이지'에 대한 관련 콘텐츠 만 포함되며 '컨테이너'에 적절하게 맞춰 지도록 구성됩니다.

+0

Tks, 샘플이 있습니까? –

관련 문제