如果用户使用Razor在Dotnetnuke上具有角色,则显示HTML

时间:2017-07-18 02:53:18

标签: c# asp.net-mvc-4 razor dotnetnuke

我正在使用Dotnetnuke CMS并尝试修改用Razor编写的显示模板。

我有一个div,我想根据用户的角色隐藏/显示。我是Razor和C#的新手,我很难让它工作。

我已经阅读过DNN的UserController,但我不确定这是针对Razor还是ACSX asp.net模板引擎或CSHTML文件?

我的代码如下:

Dim userInfo = UserController.GetCurrentUserInfo()

if (userInfo.IsInRole("Administrators")) {
<div style="background-color:red;">IS ADMIN</div>
}
else if (userInfo.IsInRole("Dealers")) {
<div style="background-color:blue;">IS DEALER</div>
}
End If

1 个答案:

答案 0 :(得分:1)

我假设您正在使用模块创建器使用Razor语法构建快速模块。

您的代码示例是C#和VB语法的混合。这是C#中的代码。

@using DotNetNuke.Common;
@using DotNetNuke.Entities.Users;

@{
    var userInfo = UserController.Instance.GetCurrentUserInfo();
}

@if (userInfo.IsInRole("Administrators")) {
    <div style="background-color:red;">IS ADMIN</div>
}
else if (userInfo.IsInRole("Dealers")) {
    <div style="background-color:blue;">IS DEALER</div>
}