使用Ajax.ActionLink登陆页面?

时间:2012-09-17 08:57:23

标签: ajax asp.net-mvc-3

我现在正在建立一个基于ASP.NET MVC 3 Razor的Web应用程序。它将主要通过Ajax获取其内容。站点菜单由mvc站点地图提供程序构建,并使用Ajax.ActionLink创建和挂钩单击事件。那已经像魅力一样。

菜单是共享布局的一部分。布局应仅使用一次 - 当应用程序加载到浏览器中时(也称为登录页面,默认控制器的“索引”,截至目前称为“主页”)。

默认控制器返回包含菜单的默认布局的视图。菜单中还有一个指向“Home”的链接。除了“Home”链接之外,菜单中的每个链接现在也像魅力一样。

登陆页面的链接会返回包含菜单另一个实例的Ajax内容,因为它是其布局的一部分。

那么如何区分整页请求(用户将URL输入浏览器的地址行或单击指向我的“Home”的外部链接)并提供完整视图和内部ajax请求并仅提供部分查看“主页”页面内容?

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以在控制器中使用此扩展方法:IsAjaxRequest

public ActionResult YourAction()
{
    if (Request.IsAjaxRequest()) 
    {
        return PartialView("PartialViewName");
    }
    else
    {
         return View("ViewName");
    }
}