在ASP.Net LoginView中,显示2组UserName和Password TextBox

时间:2013-02-28 16:03:26

标签: asp.net loginview

使用ASP.Net LoginView,显示2组UserName和Password TextBox。

使用此标记,您能告诉我们如何仅显示AnonymousTemplate中的一组UserName和Password TextBox吗?

<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>

1 个答案:

答案 0 :(得分:1)

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

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

  1. 通过在ASPX文件顶部的@Page指令中设置Trace = true,在页面中启用跟踪。这将在页面底部呈现控制树的图形,这可能有助于您找出其他Login控件的位置。
  2. 在您看到的Login控件之前和之后立即添加一些虚拟标记,例如将文本BEGINBEGINBEGIN放在它之前,然后将ENDENDEND放在它之后。如果你看到渲染一次,那么就会有来自其他地方的不同的Login控件。如果你看到它呈现两次,那么就会导致整个控件呈现两次,这必须来自一些未显示的自定义代码。
  3. 开始删除页面的各个部分以简化它,直到找出造成差异的原因。