C# 管理用户角色-是否需要多个LoginView来控制多个按钮

C# 管理用户角色-是否需要多个LoginView来控制多个按钮,c#,asp.net,roles,C#,Asp.net,Roles,我创建了一个LoginView,以便对普通用户(即非管理员)隐藏一个按钮。 工作得很好,但当我尝试添加两个按钮-FileUploadControl和Upload按钮时,我得到一个错误,FileUpload1不存在。它确实存在,我不明白它为什么抱怨 我是否需要另一个LoginView,或者如何才能做到这一点 谢谢我怀疑您正试图直接从代码背后访问控件,就像您自然会做的那样 e、 g 在.aspx页面上 <asp:FileUpload id="fileUpload1" runat="server

我创建了一个LoginView,以便对普通用户(即非管理员)隐藏一个按钮。 工作得很好,但当我尝试添加两个按钮-FileUploadControl和Upload按钮时,我得到一个错误,FileUpload1不存在。它确实存在,我不明白它为什么抱怨

我是否需要另一个LoginView,或者如何才能做到这一点


谢谢

我怀疑您正试图直接从代码背后访问控件,就像您自然会做的那样

e、 g

在.aspx页面上

<asp:FileUpload id="fileUpload1" runat="server" />
但是,如果控件位于
LoginView
中,则无法直接访问这些控件。您需要执行以下操作。如果你有这样的控制权

<asp:LoginView id="LoginView1" runat="server">
    <AnonymousTemplate>
        <asp:FileUpload ID="fileUpload1" runat="server" />
    </AnonymousTemplate>
</asp:LoginView>

然后你可以访问
文件上传1
属性。

哇,我不知道。。FileUpload fileUpload1=(FileUpload)LoginView1.FindControl(“fileUpload1”);在C代码后面,对吗?但具体在哪里?您尝试访问属性的位置。可能在您的按钮点击事件中。完全正确!你刚刚救了我:)太谢谢你了,蒂姆!
<asp:LoginView id="LoginView1" runat="server">
    <AnonymousTemplate>
        <asp:FileUpload ID="fileUpload1" runat="server" />
    </AnonymousTemplate>
</asp:LoginView>
 FileUpload fileUpload1 = (FileUpload) LoginView1.FindControl("fileUpload1");