2

次の部分的なビューがあります。

<span>Login Status</span>
@{
    if (ViewBag.UserId > 0)
    {
        @Html.ActionLink("Log Out", "LogOut", "Home", null);
    }
    else {
        @Html.ActionLink("Log In", "Login", "Home", null);
    }
}

これは単なるログイン ステータス エリアのふりです。ここでのアイデアは、これを MVC サイトのマスター ページに表示して、すべてのページに表示することです。_Layout.cshtml ファイルでレンダリングする方法は次のとおりです。

<div id="login">
   @{ Html.RenderPartial("LoginStatus"); }
</div>

私が望むのは、ユーザーが「ログイン」または「ログアウト」リンクをクリックすると、(ユーザーをログイン/ログアウトするための) アクションが実行され、部分ビューが更新されることです。ページの残りの部分はそのままです。

現在、いずれかのリンクをクリックすると、サイトは「ホーム/ログイン」または「ホーム/ログアウト」に移動します。ビューをレンダリングしたくありません。現在のページに関係なく、部分的なビューだけを更新したいと思います。

これを行うための推奨される方法は何ですか?

乾杯。ジャス。

4

2 に答える 2

1

AJAX を使用できます。そのため、jquery を使用して、リンクのクリック イベントをサブスクライブし、部分ビューを返し、DOM を更新する対応するコントローラー アクションに AJAX 要求を送信することで、目立たないようにこれらのリンクを AJAX 化できます。

于 2011-02-09T22:04:24.230 に答える
0

@Ajax.ActionLink()メソッドを試してください。

于 2011-02-09T22:28:42.820 に答える