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 に答える