4

我试图在 LoginView LoggedIn 模板中获取 LoginName 控件,尽管有几种方法,但代码仍然无法工作。

我希望将默认用户名更改为客户名称。

这是代码:

 <asp:LoginView ID="LoginView1" runat="server">
   <LoggedInTemplate> 


                 Hello, <asp:LoginName ID="LoginName1" runat="server"></asp:LoginName>

                 <br /> 

                 <div style="text-align: right; margin-right: 5px "> 
                <asp:LoginStatus ID="LoginStatus1" runat="server" LogoutPageUrl="~/Home.aspx" Font-Underline="True" />
                </div></div>
        </LoggedInTemplate>


    </asp:LoginView> 

在后面的代码:

 protected void Login1_LoggedIn(object sender, EventArgs e)
    {

        LoginName loginName = LoginView1.FindControl("LoginName1") as LoginName;
        Response.Write(loginName.ToString());  //for now I used Response.Write for testing purposes
    }
4

2 回答 2

5

尝试这个:

 <asp:LoginView ID="LoginView1" runat="server">
  <LoggedInTemplate> 
    <asp:Label runat="server" ID="lblUserName" Text="" />
    <br /> 
    <div style="text-align: right; margin-right: 5px "> 
    <asp:LoginStatus ID="LoginStatus1" runat="server" LogoutPageUrl="~/Home.aspx" Font-Underline="True" />
  </LoggedInTemplate>
</asp:LoginView> 

在后面的代码中:

  if (!Page.IsPostBack)
    if (this.Page.User.Identity.IsAuthenticated)      
       (this.LoginView1.FindControl("lblUserName") as Label).Text = "Hello, " + this.Page.User.Identity.Name;
于 2013-06-12T22:03:00.860 回答
1

您好,您可以尝试使用此代码

LoginView1.LoggedInTemplate.FindControl("LoginName1") as LoginName;
于 2012-08-03T14:34:22.900 回答