Asp MVC核心|索赔|剃刀根据声明显示/隐藏元素

时间:2018-11-16 23:25:11

标签: asp.net-mvc asp.net-core-mvc

我是服务器端的家伙,客户端是我的nt))

所以...我需要2-3天的时间来构建试用版作为我们团队的示例。...我有疑问

让我们说系统用户有模块。

例如: 1)模块电子商务 2)模块消息

等...

在用户界面

(更新) _Layout.cshtml

导航面板 简单的ui / li元素... 并且我想要用户是否有“声明消息”-显示(渲染)消息菜单项 如果不是-不显示(不将该项目呈现为HTML DOM。

现在我的代码如下:

@{
                    var claimsIdentity = User.Identity as System.Security.Claims.ClaimsIdentity;

                    if(claimsIdentity != null)
                    {
                        var c = claimsIdentity.FindFirst("Modules");

                        if(c != null && c.Value == "MESSAGES")
                        {
                            <li>
                                <a href="#"><i class="fa fa-lg fa-fw fa-puzzle-piece"></i> <span class="menu-item-parent">Messages</span></a>
                                <ul>
                                    <li>
                                        <a href="inbox.html"><i class="fa fa-file-text-o"></i>Inbox</a>
                                    </li>
                                    <li>
                                        <a href="Sent.html"><i class="fa fa-paragraph"></i>Sent emails</a>
                                    </li>

                                </ul>
                            </li>
                        }
                    }
                }

此代码有效.....但是...

1)因为我不是每天都为UI编写代码,所以我不知道这是使用DOM进行操作的最佳实践吗?

2)对我来说,它看起来很脏........或者这对于Asp MVC项目是正常的吗?

也许最好写一些statis转换器。 还是声称不是检查模块的最佳方法?

谢谢。

0 个答案:

没有答案