使用Ajax.ActionLink登录页面?

使用Ajax.ActionLink登录页面?,ajax,asp.net-mvc-3,Ajax,Asp.net Mvc 3,我现在正在建立一个基于ASP.NETMVC3Razor的web应用程序。它将主要通过Ajax获取其内容。站点菜单由mvc站点地图提供商构建,并使用Ajax.ActionLink创建和连接单击事件。这已经很有效了 菜单是共享布局的一部分。当应用程序加载到浏览器中时(也称为登录页,默认控制器的“索引”,目前称为“主页”),布局只能使用一次 默认控制器返回具有包含菜单的默认布局的视图。菜单中还有一个指向“主页”的链接。现在,菜单中除了“主页”链接之外的每个链接都像一个魔咒一样工作 但是,登录页面的链接

我现在正在建立一个基于ASP.NETMVC3Razor的web应用程序。它将主要通过Ajax获取其内容。站点菜单由mvc站点地图提供商构建,并使用Ajax.ActionLink创建和连接单击事件。这已经很有效了

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

默认控制器返回具有包含菜单的默认布局的视图。菜单中还有一个指向“主页”的链接。现在,菜单中除了“主页”链接之外的每个链接都像一个魔咒一样工作

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

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


谢谢

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

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