0

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

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

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

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

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

谢谢!

4

1 回答 1

1

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

public ActionResult YourAction()
{
    if (Request.IsAjaxRequest()) 
    {
        return PartialView("PartialViewName");
    }
    else
    {
         return View("ViewName");
    }
}
于 2012-09-17T09:05:37.803 回答