刷新_layout.cshtml中的局部视图

时间:2011-02-09 20:06:18

标签: asp.net-mvc-3 partial-views renderpartial

我有以下部分观点:

<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>

我想要的是,当用户点击“登录”或“注销”链接时,会执行操作(记录用户进/出),然后刷新部分视图 - 但是页面的其余部分是单独的。

目前,当我点击任何链接时,该网站会导航到“主页/登录”或“主页/退出”。我不希望它呈现视图,我想只刷新部分视图,无论我在哪个页面。

建议的方法是什么?

干杯。 雅各

2 个答案:

答案 0 :(得分:1)

你可以使用AJAX。所以你可以通过订阅他们的click事件并向相应的控制器动作发送AJAX请求来使用jquery来不引人注意地AJAX化这些链接,这将返回部分视图并更新DOM。

答案 1 :(得分:0)

尝试@Ajax.ActionLink()方法。