仅刷新asp.net mvc页面导航中母版页中的内容面板

时间:2009-10-22 07:00:49

标签: c# jquery asp.net-mvc master-pages

我的asp.net mvc(C#)应用程序中有一个包含Header,Menu,Content和Footer窗格的母版页。

我不希望页眉和页脚窗格在每个页面导航上刷新,只有菜单和内容窗格才会刷新。

我如何在asp.net mvc应用程序中实现它?任何建议

2 个答案:

答案 0 :(得分:2)

通过将导航中的链接点击捕获到以下内容,可以实现页面内部的纯粹ajax加载:

$('a:not(.external)').each(function(){
  $(this).attr('href', '#'+this.href);
});

然后,您可以使用jQuery BBQ plugin管理后退按钮和页面加载“onHashChange”事件。这将允许您ajax加载页面的每个主要部分(可能使用$('#main-div').load(url);类型调用)。烧烤的演示几乎完全符合您的要求,还有一个额外的好处就是您不会破坏后退按钮,因此我建议您仔细研究它。

答案 1 :(得分:0)

对控制器进行Ajax调用,如下所示,并创建所需的“* .ascx”PartialView

    $('#divMainContent').load("./LoadMainContent");



    [Authorize]
    public ActionResult LoadMainContent()
    {
        return PartialView("MainContent", sp);

    }