购物网第三阶段总结笔记3:用户登陆主页显示登陆用户名

【一】:用户登陆后把用户登陆表单隐藏,然后把登陆后的用户名显示出来,使用VS提供的【LoginView控件+内置票据认证】比较方便:

该控件提供了两个模板:登陆前用户模板和登陆后用户模板。

<asp:LoginView ID="LoginView1" runat="server">
    <AnonymousTemplate>
    //登陆前用户模板
    </AnonymousTemplate>
    <LoggedInTemplate>
    //登陆后用户模板
    </LoggedInTemplate>
</asp:LoginView>


把登陆表单包含到登陆前的模板中:

登陆后的模板,用控件LoginName显示用户名和用控件LoginStatus来注销登陆。

<asp:LoginView ID="LoginView1" runat="server">
    <AnonymousTemplate>
        <table width="785" height="136" border="0">
        <tr>
            <td width="167" valign="top" background="images/pic_005.gif">
                <table width="100%" height="134" border="0">
                    <tr>
                        <td height="48">
                             
                        </td>
                    </tr>
                    <tr>
                        <td>
                            用户:
                            <asp:TextBox ID="txtname" runat="server" Width="101px"></asp:TextBox>
                        </td>
                    </tr>
                    <tr>
                        <td>
                            密码:
                           <asp:TextBox ID="txtpwd" runat="server" Width="98px"></asp:TextBox>
                        </td>
                    </tr>
                    <tr>
                        <td align="center">
                            <asp:LinkButton ID="lbtnlogin" runat="server" onclick="lbtnlogin_Click">登陆</asp:LinkButton> <a href="reg1.aspx">注册</a> <a href="getpwd1.html">忘记密码</a>
                        </td>
                    </tr>
                </table>
            </td>
            <td width="405">
                <img src="images/adad.jpg" width="396" height="136" />
            </td>
            <td width="199">
                <ul class="ul_znxw">
                    <li><a href="#">站内新闻一</a></li>
                    <li><a href="#">站内新闻二</a></li>
                    <li><a href="#">站内新闻三</a></li>
                    <li><a href="#">站内新闻四</a></li>
                    <li><a href="#">站内新闻五</a></li>
                </ul>
            </td>
        </tr>
    </table>
    </AnonymousTemplate>
    <LoggedInTemplate>
    您好,
        <asp:LoginName ID="LoginName1" runat="server" />
        <asp:LoginStatus ID="LoginStatus1" runat="server" />
    </LoggedInTemplate>
    </asp:LoginView>

问题出现:把登陆表单包含在LoginView中以后,在cs代码中就找不到txtname和txtpwd控件。

解决之道:

string name =(LoginView1.FindControl("txtname") as TextBox).Text.Trim();


你可能感兴趣的:(server,String,table,asp,border,textbox)