ハイジャックを使用して、mvc を使用して単一ページの Web アプリケーションを実行しようとしています。私が見つけた問題は、コントローラーが返すレイアウトを効率的に切り替える方法です。
最も明白な非効率的な解決策は、すべてのコントローラーでこのコードを使用することです。
if (Request.IsAjaxRequest())
{
return PartialView();
}
else
{
viewdata["controller"]= "x"; viewdata["action"]= "y";
return View("defaultview"); //I need view data because only one template main
//view is returned and based on the viewdata the main
//view loads the right partial view inside it
}
上記のコードをより簡単な方法で実行する方法はありますか? おそらく、リクエストがAJAXであるかどうかをチェックし、適切なビューを返すカスタムviewresultを使用します。それとも、ある種のベースコントローラーですか?両方のアイデアを実装する方法がわからないので、ガイダンスは素晴らしいでしょう。