2012-11-30 101 views
0

我有一個需要12個jQuery Mobile頁面的MVC4 web應用程序。將頁面動態添加到jQuery移動Web應用程序

  1. 歡迎
  2. 登錄

再等等。

我想在一次添加一個網頁,如果用戶要求它,

  1. 什麼是動態頁面添加到我的項目,最好的方法?

  2. 哪裏是適當的網站包括頁面腳本(動態添加頁面)?

  3. 如果包含在Html.ActionLink()中,data-ajax =「false」意味着什麼?

在這個時候,我有我的應用程序的近90%,但我有嚴重的問題,引用了一些網頁,一些次視圖中包含的所有頁面鴕鳥政策渲染或鴕鳥政策運行的腳本。

回答

2

我認爲你必須在組織jQuery Mobile的網頁以下選項:

(一)一個HTML文件,所有的頁面(帶有class =「頁面」的div)

這是最簡單的方法和保證然而工作文件可能會成爲一個大的項目太大

(二)一個主要的HTML文件鏈接到孩子HTML文件

從用戶的角度來看,JQM默認加載時使用「AJAX模式」子頁面,這使得tr作爲選項(a)的流程一樣流暢。這樣做的缺點是子頁面沒有被完全加載,也就是說,它的包含或者腳本都沒有被執行。在加載時,JQM使用class =「page」解析第一個div的子頁面,提取div並將其添加到當前DOM。請注意,子頁面不能有多個「頁面」,因爲只有第一個頁面會被加載。

要做到選項(B)正確,你可以:

  1. 包括所有的CSS,JS和運行在主頁的所有init腳本或

  2. 指定 「數據阿賈克斯=假」或在您的鏈接上「rel = external」。這迫使JQM完全重新加載鏈接/子頁面,但是使用這種方法,您將失去流體轉換。

0

我過去曾經使用過的一種方法是將一個主頁面加載到瀏覽器中。

「頁面」的其餘部分僅僅是加載到主頁面中的「內容」div中的HTML塊。顯然,會有一個初始'頁面',這是第一個HTML塊,在初始加載時默認由主頁面加載,但其餘的'頁面'是根據需要加載的(例如,當用戶登錄時點擊鏈接,等等。)。

我在主頁面中使用JQuery.Load()來爲每個'頁面'調低HTML塊,並根據需要將它們加載到'content'div中。

我發現這非常方便,因爲所有的腳本和樣式都可以與每個HTML塊(如同完整的獨立頁面一樣)以及JQuery.Load()負責所有運行的腳本和應用程序造型。

在MVC方面,只有主頁面的視圖包含完整的HTML頁面元素,並且被構造爲用作'頁面'內容的'容器'。 其餘視圖將只包含每個「頁面」的相關內容,並且適當地將其結構化以適合「容器」。

+0

Tks,你有什麼樣的嗎? –

相關問題