如何在javascript中检查用户角色(没有razor或controller)

如何在javascript中检查用户角色(没有razor或controller),javascript,asp.net-mvc-5,user-roles,Javascript,Asp.net Mvc 5,User Roles,我正在尝试将User.IsInRole()与razor页面上的javascript一起使用。我不想使用控制器,如果可以做到这一点,我如何在MVC5中做到这一点 编辑:我想按用户角色显示按钮。我可以用剃须刀页面来做这件事。javascript中有一些字段,我在其中向表中添加元素,我将在这里尝试使用它们。您可以像下面的for price中所示那样进行操作 @{var price=20;} <html> <body> @if (price>30) { <p&

我正在尝试将User.IsInRole()与razor页面上的javascript一起使用。我不想使用控制器,如果可以做到这一点,我如何在MVC5中做到这一点


编辑:我想按用户角色显示按钮。我可以用剃须刀页面来做这件事。javascript中有一些字段,我在其中向表中添加元素,我将在这里尝试使用它们。

您可以像下面的for price中所示那样进行操作

@{var price=20;}
<html>
<body>
@if (price>30)
  {
  <p>The price is too high.</p>
  }
else
  {
  <p>The price is OK.</p>
  }
</body>
</html>
@{var price=20;}
@如果(价格>30)
{
价格太高了

} 其他的 { 价格还可以

}
试着这样做:

//Check login User has 'System Administrator' role
function CheckUserRole() {
    var currentUserRoles = Xrm.Page.context.getUserRoles();
    for (var i = 0; i < currentUserRoles.length; i++) {
         var userRoleId = currentUserRoles[i];
    var userRoleName = GetRoleName(userRoleId);
        if (userRoleName == "System Administrator") {
            return true;
        }
    }
    return false;
}
 
//Get Rolename based on RoleId
function GetRoleName(roleId) {
    //var serverUrl = Xrm.Page.context.getServerUrl();
    var serverUrl = location.protocol + "//" + location.host + "/" + Xrm.Page.context.getOrgUniqueName();
    var odataSelect = serverUrl + "/XRMServices/2011/OrganizationData.svc" + "/" + "RoleSet?$filter=RoleId eq guid'" + roleId + "'";
    var roleName = null;
    $.ajax(
        {
            type: "GET",
            async: false,
            contentType: "application/json; charset=utf-8",
            datatype: "json",
            url: odataSelect,
            beforeSend: function (XMLHttpRequest) { XMLHttpRequest.setRequestHeader("Accept", "application/json"); },
            success: function (data, textStatus, XmlHttpRequest) {
                roleName = data.d.results[0].Name;
            },
            error: function (XmlHttpRequest, textStatus, errorThrown) { alert('OData Select Failed: ' + textStatus + errorThrown + odataSelect); }
        }
    );
    return roleName;
}
//检查登录用户是否具有“系统管理员”角色
函数CheckUserRole(){
var currentUserRoles=Xrm.Page.context.getUserRoles();
对于(var i=0;i