应该MVC4 PartialView ajax加载一个“pageinit”事件吗?

时间:2013-02-28 13:39:09

标签: asp.net-mvc jquery-mobile

在我的asp.net mvc4 + jquerymobile应用程序中,我有一个“页面”,看起来像这样:

+---------------------------------------+
|A                                      |
|   +----------------+----------------+ |
|   |B               |C               | |
|   |                | +------------+ | |
|   |                | |D           | | |
|   |                | +------------+ | |
|   +----------------+----------------+ |
+---------------------------------------+
  • A几乎只是一个容器页面,除了设置B& C'子页面'(部分视图)
  • B是UserList面板(div),它有事件绑定,会导致面板C的重新加载和ajax(局部视图)
  • C是UserEdit面板(div),包含带有其他信息的辅助面板。
  • D是UserPermissions面板(div),包含通过ajax调用与simplemembership角色系统交互的复选框。

我有这个脚本的所有四个视图,告诉我哪些事件正在触发,何时:

$(document).ready(function () {
    console && console.log("portalUser (pvUserEdit) document ready!!");
});
$(document).on('pageinit', function () {
    console && console.log("portalUser (pvUserEdit) pageInit!!");
});

首次加载页面A时,页面B会同时加载,并且pageinit事件和DOM就绪事件都会同时触发。当选择B中列表中的项目时,它会生成ajax加载以填充面板C(这会导致面板D也加载)。这一次,只有DOM就绪事件才会触发C& D面板,从不触发pageinit事件。

所以,这就是所有的背景信息。 QUESTION是:考虑到项目的MVC4 + JQM方面,这是预期的行为吗?我应该期望pageinit在partialView加载时触发吗?或者我是否需要以不同于完整页面的方式处理部分视图?

1 个答案:

答案 0 :(得分:0)

Javascript不知道正在运行什么样的后端,所以它肯定不是mvc问题。它可能在不同的浏览器中有所不同,但由于ajax页面加载,它肯定会有所不同

相关问题