1

使用 ASP.Net LoginView,显示 2 组用户名和密码文本框。

使用这个标记,你能告诉我们如何只显示 AnonymousTemplate 中的一组用户名和密码文本框吗?

<asp:UpdatePanel 
    ID="UpdatePanelParentsSummary" 
    runat="server" 
    UpdateMode="Conditional">

    <ContentTemplate> 


        <div class="Menu">

            <asp:LoginView 
                ID="loginViewMain" 
                runat="server">

                <AnonymousTemplate>
                    <asp:LoginStatus 
                        ID="loginStatus" 
                        runat="server" />

                    <asp:Login runat="server" ID="login"></asp:Login>
                </AnonymousTemplate>

                <LoggedInTemplate>
                    <asp:LoginName 
                        ID="loginName" 
                        runat="server"
                        FormatString="Hello, {0}!<br/><br/> You have successfully<br/> logged onto the staff site." />

                    (<asp:LoginStatus ID="loginStatus" runat="server" />)

                    <asp:SiteMapDataSource 
                        id="KnowledgeAcademySiteMap" 
                        runat="server"
                        ShowStartingNode="false" />

                    <asp:TreeView 
                        id="TreeViewMain"
                        runat="server"
                        ExpandDepth="0"
                        OnTreeNodeExpanded="TreeViewMain_TreeNodeExpanded"
                        DataSourceID="KnowledgeAcademySiteMap">

                        <RootNodeStyle ImageUrl="/Images/book.png" />
                        <ParentNodeStyle ImageUrl="/Images/book.png" />
                        <LeafNodeStyle ImageUrl="/Images/book.png" />
                    </asp:TreeView>
                </LoggedInTemplate>

            </asp:LoginView>
        </div>

        </asp:ContentPlaceHolder>
    </ContentTemplate>
</asp:UpdatePanel>
4

1 回答 1

1

显示标记后,应该只<asp:Login>显示一个控件。必须有一些其他的标记或代码会影响这一点。

此时最好的选择是通过添加一些额外的内容来调试问题,这将有助于找出所有内容的来源。例如,您可以尝试以下操作:

  1. 通过在 ASPX 文件顶部的 @Page 指令中设置 Trace=true 在页面中启用跟踪。这将在页面底部呈现控件树的图形,这可能有助于您确定其他登录控件的位置。
  2. 在您看到的 Login 控件之前和之后添加一些虚拟标记,例如将文本 BEGINBEGINBEGIN 放在它之前,并将 ENDENDEND 放在它之后。如果您看到该渲染一次,那么就有来自其他地方的不同登录控件。如果您看到它呈现两次,那么某些原因导致整个控件呈现两次,这一定来自一些未显示的自定义代码。
  3. 开始删除页面的零碎部分以简化它,直到找出导致差异的原因。
于 2013-02-28T17:22:42.640 回答