asp.net-mvc - ASP MVC 核心 | 索赔 | 剃须刀 | 根据声明显示/隐藏元素
问题描述
我是服务器端的人,客户端是我的))
所以......我需要在 2-3 天内构建试点版本作为我们团队的示例......我有疑问
让我们说系统用户有模块。
例如:1) 模块电子商务 2) 模块消息
ETC...
在用户界面中
(更新) _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 项目来说是正常的吗?
也许更好地写一些统计转换器.....或者声称不是检查模块的最佳方法?
谢谢你。
解决方案
推荐阅读
- ruby-on-rails - 尝试安装 Rails 时遇到奇怪的错误
- video - Skype“共享屏幕”仅显示旋转圆圈等
- javascript - 网站如何在不为用户加载时间的情况下将近乎即时的保存到他们的数据库中?
- reactjs - 状态更改后 UI 未更新
- proxy - 使用 Rack::Proxy 代理一个 ssl 站点,用于运行非 ssl 服务器的本地验收测试
- python - 无法从 Airflow 网络服务器连接到 Cassandra
- javascript - React js覆盖CSS表
- go - 测试 exec.Cmd 运行 sudo
- data-warehouse - Informatica IDQ - 向下钻取结果表
- .net - 挂在 NtUserPeekMessage 中;我是否坚持不应该发生这种情况?