2

こんにちは、一貫したルック アンド フィールのためにレイアウトを使用している mvc Web サイトがあります。現在、メニューはユーザーの役割、レベルなどに基づいて動的に生成されます。レイアウトページにメニューを配置しました。ユーザーがデータベースからその役割に従って生成されたメニューにログインすると、ユーザーがメニューをクリックすると、レイアウトに現在のビューが読み込まれますが、すべてのビューにレイアウトがあるため、レイアウトページも更新するため、データベーストリップを使用してメニューも再生成されます。メニューのリロードを避けるにはどうすればよいですか? 戻るボタンが機能せず、新しいタブがレイアウトなしでページをロードするため、ajaxを使用してレイアウトページにビューをロードしたくありません。助けてください

4

2 に答える 2

1

私がしたことは、 ajax. を使用してレイアウト内の div にレイアウトなしでページをロードし、次に記述された viewstart.chtml にロードすることです

レイアウト = Request.IsAjaxRequest() ? null : "~/Views/Shared/_Layout.cshtml";

そのため、リクエストがリンクを介して(新しいウィンドウで)行われると、ビューにはレイアウトページが表示されます(これにより、新しいタブの問題が解決されました)。

2) ブラウザの戻るボタンには jquery.address プラグインを使用しました。

于 2013-03-26T08:41:24.600 に答える
0

セッション変数の一般的な用途は、ユーザーとその役割、レベルなどを保存することです。これにより、セッションを保存する場所に応じて、DB ラウンド トリップが回避される場合と回避されない場合があります。たとえば、「InProc」セッション状態 (デフォルト) はメモリに保存されるため、アクセスは非常に高速です)。参照: asp.net のセッション状態モードでは、InProc と SQL Server のどちらが優れていますか?

于 2013-03-22T17:13:54.650 に答える