我现在正在建立一个基于ASP.NET MVC 3 Razor的Web应用程序。它将主要通过Ajax获取其内容。站点菜单由mvc站点地图提供程序构建,并使用Ajax.ActionLink创建和挂钩单击事件。那已经像魅力一样。
菜单是共享布局的一部分。布局应仅使用一次 - 当应用程序加载到浏览器中时(也称为登录页面,默认控制器的“索引”,截至目前称为“主页”)。
默认控制器返回包含菜单的默认布局的视图。菜单中还有一个指向“Home”的链接。除了“Home”链接之外,菜单中的每个链接现在也像魅力一样。
登陆页面的链接会返回包含菜单另一个实例的Ajax内容,因为它是其布局的一部分。
那么如何区分整页请求(用户将URL输入浏览器的地址行或单击指向我的“Home”的外部链接)并提供完整视图和内部ajax请求并仅提供部分查看“主页”页面内容?
谢谢!
答案 0 :(得分:1)
您可以在控制器中使用此扩展方法:IsAjaxRequest
public ActionResult YourAction()
{
if (Request.IsAjaxRequest())
{
return PartialView("PartialViewName");
}
else
{
return View("ViewName");
}
}