1

わかりました。リンクをクリックしても変更されないように、ページの左側に静的メニューを配置しようとしています。

これを行う方法は、いくつかのajaxを呼び出すAタグで小さなjavascriptを呼び出すことです。私のコントローラーは部分ビューを返し、それが私のコンテンツ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 に答える