我被要求避免在视图中添加诸如 if/else 之类的逻辑。目前,我正在开发页面的登录/注册功能,如果用户处于角色中,则必须显示一组链接,如果他是角色,则必须显示另一个链接在另一个角色。
这是我到目前为止所做的:
<ul id="menu">
<li>@Html.ActionLink("Products", "Books", "Home")</li>
@if (User.Identity.IsAuthenticated)
{
<li>@Html.ActionLink("Log Out" ,"LogOut","Account")</li>
}
else
{
<li>@Html.ActionLink("Log In" ,"LogIn","Account")</li>
}
@if(User.IsInRole("administrator"))
{
<li>@Html.ActionLink("Product Manager", "Books", "ProductManager")</li>
}
</ul>
此代码存储在 _Layout.cshtml 文件中。我想避免将逻辑添加到视图中。
有什么办法可以做到吗?