在操作方法之后调用ViewComponent

本文关键字:ViewComponent 调用 之后 操作方法 | 更新日期: 2023-09-27 18:30:01

我有以下布局页面:

<body>
<nav>@Component.Invoke("Navigation")</nav>
<main>@RenderBody()</main>
</body>

ViewComponent为经过身份验证和未经过身份验证的用户呈现两种不同的视图:

public class NavigationViewComponent : ViewComponent
{
    public IViewComponentResult Invoke()
    {
        if(User.Identity.IsAuthenticated)
        {
            return View("User");
        }
        return View("Guest");
    }
}

我还有一个注销用户的操作方法:

public class HomeController : Controller
    ...
    public async Task<IActionResult> LogOut()
    {
        await _signInManager.SignOutAsync();
        return View("Index");
    }
}

我想在调用LogOut操作方法后渲染ViewComponent,该怎么做?

在操作方法之后调用ViewComponent

我找到了一个解决方案。我所需要做的就是RedirectToAction(),而不是返回View。