根据用户权限调用ajax调用

时间:2012-10-07 10:11:45

标签: asp.net jquery

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

button1_click()
some ajaxcalls

button2_click()
some other ajax calls

button3_click()
another calls

所以管理员可以调用此事件,但简单的用户只需要调用button3的
我需要什么样的方法?
- 我必须使用另一个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

2 个答案:

答案 0 :(得分:1)

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

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

如果你想要显示它们,你可以改为btnOne.Enabled = UserIsAdministrator,它会显示按钮,但会根据需要禁用它们;

答案 1 :(得分:1)

您可以在该页面上使用hiddenfield来保存用户角色。然后在DOM Ready()函数内部迭代这些按钮以启用/禁用它们。 但是,您还应该在进行ajax调用后检查服务器端的角色,以防有人手动更改隐藏字段的值以启用按钮。