1

私のasp.net mvc4 + jquerymobileアプリには、次のような「ページ」があります。

+---------------------------------------+
|A                                      |
|   +----------------+----------------+ |
|   |B               |C               | |
|   |                | +------------+ | |
|   |                | |D           | | |
|   |                | +------------+ | |
|   +----------------+----------------+ |
+---------------------------------------+
  • A は単なるコンテナ ページであり、B と C の「サブページ」(部分ビュー) をセットアップする以外には何もしません。
  • B は UserList パネル (div) であり、パネル C (部分ビュー) の ajax リロードを引き起こすイベントがバインドされています。
  • C は UserEdit パネル (div) であり、他の情報を含む 2 番目のパネルを含みます。
  • D は UserPermissions パネル (div) であり、ajax 呼び出しを介して単純なメンバーシップ ロール システムとやり取りするためのチェックボックスが含まれています。

4つのビューすべてに、次の場合にどのイベントが発生しているかを知るために、このスクリプトのいくつかのバージョンがあります。

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

ページ A が最初にロードされると、ページ B が一緒にロードされ、両方に対して pageinit イベントと DOM ready イベントの両方が発生します。B のリストからアイテムが選択されると、Ajax ロードが生成されてパネル C が埋められます (これにより、パネル D もロードされます)。今回は、C パネルと D パネルの両方で DOM Ready イベントのみが発生し、pageinit イベントは発生しません。

だから、それはすべての背景情報です。質問は、プロジェクトの MVC4+JQM の側面を考慮して、これは予想される動作ですか? partialView の読み込み時に pageinit が起動することを期待する必要がありますか? または、部分ビューをページ全体とは異なる方法で処理する必要がありますか?

4

1 に答える 1

0

Javascript は実行中のバックエンドの種類がわからないため、mvc の問題ではありません。ブラウザーによって異なる場合がありますが、Ajax ページの読み込みにより、明らかに異なります。

于 2013-02-28T13:45:01.093 に答える