Carregar o PartialView for AJAX e o View para não-AJAX request
Quero implementar algo como no facebook:
epois de clicar com o botão esquerdo na foto, ela é carregada via AJAX depois do clique do meio no scroll, ele é carregado normalmente com layout adicionalor enquanto, tenho um View, carregado no Controller em dois métodos diferente
public ActionResult Overview()
{
return View("Overview");
}
public ActionResult OverviewPartialView()
{
return PartialView("Overview");
}
E no script jquery, fica assim:
$(contentContainer).load(_link + 'PartialView');
Minha pergunta é: existe uma maneira melhor de resolver esse problema? Eu tentei com algo assim no _ViewStart:
@{
Layout = "~/Views/Shared/_Layout.cshtml";
if (IsAjax)
{
Layout = null;
}
}
E algo assim no Controller:
public ActionResult Index()
{
if (Request.IsAjaxRequest())
return PartialView();
return View();
}
Mas nessas soluções tive um problema com o cache, depois de abrir uma página com layout, na solicitação AJAX também a página com layout foi carregad