Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 根据用户权限调用ajax调用_Asp.net_Jquery - Fatal编程技术网

Asp.net 根据用户权限调用ajax调用

Asp.net 根据用户权限调用ajax调用,asp.net,jquery,Asp.net,Jquery,我的网站中有jquery按钮,但其中一些按钮不需要每个用户都可以点击,因此必须有权限,所有按钮都会进行ajax调用,因此我如何控制这些按钮,例如,如果我有3个按钮,如: button1_click() some ajaxcalls button2_click() some other ajax calls button3_click() another calls 因此管理员可以调用此事件,但简单用户只需调用按钮3即可 我需要什么样的方法 -我是否必须使用另一个ajax调用来控制每个按钮,

我的网站中有jquery按钮,但其中一些按钮不需要每个用户都可以点击,因此必须有权限,所有按钮都会进行ajax调用,因此我如何控制这些按钮,例如,如果我有3个按钮,如:

button1_click()
some ajaxcalls

button2_click()
some other ajax calls

button3_click()
another calls
因此管理员可以调用此事件,但简单用户只需调用按钮3即可
我需要什么样的方法
-我是否必须使用另一个ajax调用来控制每个按钮,如:

button1_click()
    an ajax call (permission.aspx) read session,admin or not,return true or false
    if(true)    
    {
      someajaxcall()
    }
-或者我必须根据会话隐藏或显示按钮?但是我不知道我该怎么做
我正在使用jqgrid asp.net组件,这样网格就有自定义按钮,但按钮没有id,所以我无法从服务器端访问它,而且按钮也没有可见或禁用属性。

我使用asp.net和jquery

通常我不喜欢显示人们无法使用的按钮,因此,由于您在后端使用asp.net,因此在检查用户权限后创建页面时,您可以隐藏按钮,即:

  btnOne.Visible = UserIsAdministrator; //you need to define thisvariable based on your own rules.


如果仍要显示它们,可以改为使用btnOne.Enabled=UserIsAdministrator,它将显示按钮,但根据需要禁用它们

您可以在该页面上使用包含用户角色的
hiddenfield
。然后在
DOM Ready()
函数中迭代这些按钮,使它们处于启用/禁用状态。
但是,在进行ajax调用后,您还应该检查服务器端的角色,以防有人手动更改hiddenfield的值以启用按钮。

为什么不在服务器端使用User.IsInRole?Ajax调用甚至不会出现在HTML页面中(此外,您必须仔细检查内部方法)。感谢您的回答,我正在使用jqgrid asp.net组件,以便网格具有自定义按钮,但按钮没有id,因此我无法从服务器端访问它,并且按钮没有可见或禁用属性。