Dotnetnuke DNN-在javascript中获取用户角色

Dotnetnuke DNN-在javascript中获取用户角色,dotnetnuke,dotnetnuke-7,dotnetnuke-5,dnn-module,Dotnetnuke,Dotnetnuke 7,Dotnetnuke 5,Dnn Module,我在DotNetNuke中有一个应用程序。我想检索头javascript中的用户角色列表,并检查它是否具有“Administrators”角色。最好的方法是什么?您可以这样做 using DotNetNuke.Common; using System.Collections; using DotNetNuke.Security.Roles; using System.Web.Script.Serialization; var RoleController = new RoleControlle

我在DotNetNuke中有一个应用程序。我想检索头javascript中的用户角色列表,并检查它是否具有“Administrators”角色。最好的方法是什么?

您可以这样做

using DotNetNuke.Common;
using System.Collections;
using DotNetNuke.Security.Roles;
using System.Web.Script.Serialization;

var RoleController = new RoleController();
var UserRoles = new List<RoleInfo>();

//for dnn 7.3 and lower
if (Globals.DataBaseVersion.Major < 7 || (Globals.DataBaseVersion.Major == 7 && Globals.DataBaseVersion.Minor < 3))
{
    UserRoles = RoleController.GetPortalRoles(PortalId).Cast<RoleInfo>().ToList();
}
else
{
    //for dnn 7.3 and higher
    UserRoles = RoleController.GetRoles(PortalId).ToList();
}

//convert the list to a json array
var jsonSerialiser = new JavaScriptSerializer();
var json = jsonSerialiser.Serialize(UserRoles.Select(x => x.RoleName));

//send the json to a client side function
ScriptManager.RegisterStartupScript(Page, Page.GetType(), "allUserRoles", "setUserRoles('" + json + "')", true);

你可以这样做

using DotNetNuke.Common;
using System.Collections;
using DotNetNuke.Security.Roles;
using System.Web.Script.Serialization;

var RoleController = new RoleController();
var UserRoles = new List<RoleInfo>();

//for dnn 7.3 and lower
if (Globals.DataBaseVersion.Major < 7 || (Globals.DataBaseVersion.Major == 7 && Globals.DataBaseVersion.Minor < 3))
{
    UserRoles = RoleController.GetPortalRoles(PortalId).Cast<RoleInfo>().ToList();
}
else
{
    //for dnn 7.3 and higher
    UserRoles = RoleController.GetRoles(PortalId).ToList();
}

//convert the list to a json array
var jsonSerialiser = new JavaScriptSerializer();
var json = jsonSerialiser.Serialize(UserRoles.Select(x => x.RoleName));

//send the json to a client side function
ScriptManager.RegisterStartupScript(Page, Page.GetType(), "allUserRoles", "setUserRoles('" + json + "')", true);