1

好的,所以我试图在页面左侧有一个静态菜单,以便在单击链接时它不会改变。

我是如何做到这一点的,我在我的 A 标记上调用了一个小 javascript,它调用了一些 ajax。我的控制器返回一个局部视图,然后将其加载到我的内容 div 中。

这一切都很好。我遇到的问题是我的 URL 没有改变,我希望能够使用后退按钮返回上一页。

我曾尝试使用 location.hash ,但这似乎并没有按我希望的方式工作。想法?

下面是我的代码。

HTML

<li class="item3"><a href="#">Admin</a>
<ul>
    <li class="subitem1"><a onclick="ChangePage('/Admin/PageName', 'Hash')">Page Name</a></li>

Javascript

function ChangePage(path, hash) {
        $.post(path, function (data) {
            $('#content').html(data);
            window.location.hash = '#' + hash;
        });
    }

控制器

 public ActionResult PageName()
    {
        return PartialView("MyPage");
    }

谢谢!大卫

4

1 回答 1

3

考虑检查pjax。使用 MVC 实现非常容易,并且会完全按照您的要求完成。

本文讨论了另一种选择,PAjax。

pushState正如您在评论中所说的那样,这两种杠杆仍然没有得到所有浏览器的完全支持。但是当不支持 pushstate 时,pjax 会通过进行全页面更新来优雅地降级。

于 2012-11-15T20:16:35.410 回答