我正在尝试使用劫持来使用 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,并返回正确的视图。或者可能是某种基本控制器?我不知道如何实现这两个想法,所以任何指导都会很棒。