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

J86*_*J86 1 vb.net asp.net webforms

我在 VB.NET 中构建的 ASP.NET WebForms 应用程序中工作。

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

<asp:TextBox runat="server" 
             ID="txtResolution" 
             CssClass="newTextObject" 
             TextMode="MultiLine">
</asp:TextBox>
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

Nun*_*ers 5

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

下面的代码应该在PageLoad页面的方法中工作。

If User.Identity.IsInRole("Role A") Then
    txtResolution.Enabled = False
End If
Run Code Online (Sandbox Code Playgroud)

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