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 通过订阅它们的点击事件并向相应的控制器操作发送 AJAX 请求来不显眼地对这些链接进行 AJAX 化,该控制器操作将返回部分视图并更新 DOM。

于 2011-02-09T22:04:24.230 回答
0

试试@Ajax.ActionLink()方法。

于 2011-02-09T22:28:42.820 回答