2012-11-30 106 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,你有什么样的吗? –

相关问题