在ASP.NET Web窗体中禁用<asp:textbox> </asp:textbox>

时间:2013-10-08 15:13:39

标签: asp.net vb.net webforms

我正在使用VB.NET构建的ASP.NET WebForms应用程序。

根据当前登录用户的角色,我想禁用TextBox。因此,如果他/她是角色A的一部分,那么他/她将能够编辑TextBox的内容,否则TextBox将被禁用。

<asp:TextBox runat="server" 
             ID="txtResolution" 
             CssClass="newTextObject" 
             TextMode="MultiLine">
</asp:TextBox>

我怎样才能做到这一点?

3 个答案:

答案 0 :(得分:4)

您可以使用User.Identity.IsInRole()方法检查当前登录用户是否是您需要的角色的成员。

以下代码应该适用于页面的PageLoad方法。

If User.Identity.IsInRole("Role A") Then
    txtResolution.Enabled = False
End If

有关Web应用程序的HttpContext.User属性的更多详细信息,请参阅MSDN documentation of HttpContext.User Property

答案 1 :(得分:2)

假设您正在使用角色管理,则只需启用文本框(如果用户位于角色A中)。

txtResolution.Enabled = User.IsInRole("A")

MSDN IsInRole method

答案 2 :(得分:2)

您可以设置属性

要禁用:

txtResolution.Enabled = "false"

启用:

txtResolution.Enabled = "true"