mvcを使用して単一ページのWebアプリケーションを行うためにハイジャックを使用しようとしています。私が見つける問題は、コントローラが効率的に返すレイアウトを切り替える方法です。Asp.net MVC hijaxing返されたビューの修正を
最も明白な非効率的なソリューションは、すべてのコントローラ上でこのコードを使用することです:
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を使用します。それとも、ベースコントローラの何らかの並べ替えですか?私は両方のアイデアをどのように実装するかわからないので、どんな指針も素晴らしいでしょう。