0

12個のjQueryMobileページを必要とするMVC4Webアプリがあります。

  1. いらっしゃいませ
  2. ログイン

そして他の多く。

ユーザーからのリクエストがあれば、一度に1ページずつ追加したいのですが。

  1. プロジェクトに動的にページを追加するための最良のアプローチは何ですか?

  2. ページスクリプト(ページが動的に追加される)を含める適切なサイトはどこにありますか?

  3. data-ajax = "false"が含まれている場合、それは正確にはどういう意味Html.ActionLink()ですか?

現時点では、アプリのほぼ90%を使用していますが、一部のページの参照で深刻な問題が発生しています。ビューに含まれるすべてのページがレンダリングされないか、スクリプトが実行されない場合があります。

4

2 に答える 2

2

JQuery Mobileページを整理するには、次のオプションがあると思います。

(a)すべてのページを含む1つのHTMLファイル(class = "page"のdiv)

これは最も単純なアプローチであり、確実に機能しますが、大きなプロジェクトではファイルが大きくなりすぎる可能性があります

(b)子HTMLファイルにリンクする1つのメインHTMLファイル

UIの観点から、JQMは子ページをロードするときにデフォルトで「AJAXモード」を使用します。これにより、オプション(a)と同じように流動的に遷移します。これの欠点は、子ページが完全にロードされていないことです。つまり、インクルードやスクリプトが実行されないことです。ロード時に、JQMはclass = "page"を使用して最初のdivの子ページを解析し、divを抽出して、現在のDOMに追加します。最初のページのみがロードされるため、子ページに複数の「ページ」を含めることはできないことに注意してください。

オプション(b)を正しく行うには、次のことができます。

  1. すべてのCSS、JSを含め、メインページですべての初期化スクリプトを実行するか、

  2. リンクに「data-ajax=false」または「rel=external」を指定します。これにより、JQMはリンクされた/子ページを完全にリロードしますが、このアプローチでは、流動的な遷移が失われます。

于 2012-12-01T06:05:57.037 に答える
0

私が過去に使用した方法の1つは、ブラウザに読み込まれるすべてのメインページを1つにすることです。

残りの「ページ」は、メインページの「コンテンツ」divにロードされる単なるHTMLチャンクです。明らかに、初期ロード時にメインページによってデフォルトでロードされる最初のHTMLチャンクである初期「ページ」がありますが、残りの「ページ」は必要に応じてロードされます(たとえば、ユーザーがログインしたとき。リンクをクリックすると、等。)。

メインページ内でJQuery.Load()を使用して、各「ページ」のHTMLチャンクをダウンさせ、必要に応じて「コンテンツ」divにロードしました。

すべてのスクリプトとスタイリングが(完全なスタンドアロンページのように)各HTMLチャンクに存在し、JQuery .Load()がスクリプトの実行とスタイリングの適用をすべて処理するため、これは非常に便利であることがわかりました。

MVC側では、メインページのビューのみに完全なHTMLページ要素が含まれ、「ページ」コンテンツの「コンテナー」として機能するように構成されていました。残りのビューには、各「ページ」に関連するコンテンツのみが含まれ、「コンテナ」に適切に収まるように構成されます。

于 2012-12-01T03:31:08.330 に答える