我被要求避免添加类似if/else视图内部的逻辑。目前,我正在开发页面的登录/注册功能,并且我必须显示一组链接if如果用户在另一个角色中,则用户处于角色而另一个角色。避免在视图内添加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 file.I里面想避免添加逻辑到视图中。
有什么办法可以做到吗?
为什么逻辑是这样的观点是一件坏事? – Dutts 2013-03-20 07:36:25
mvc的漏洞点是分离逻辑,标记和数据,所以我认为这是一种不好的做事做法 – aleczandru 2013-03-20 07:37:57
我不认为这必然是非mvc,这个逻辑只涉及到视图。 – Dutts 2013-03-20 07:39:17