LoginView LoggedIn template 内の LoginName コントロールを取得しようとしましたが、いくつかの方法にもかかわらず、コードはまだ機能しませんでした。
デフォルトのユーザー名を顧客名に変更したいと考えていました。LoggedInTemplate 内でコントロールを見つけようとしましたが、次のエラーが表示されます。
'System.Web.UI.ITemplate' does not contain a definition for 'FindControl' and no extension method 'FindControl' accepting a first argument of type 'System.Web.UI.ITemplate' could be found (are you missing a using directive or an assembly reference?
コードは次のとおりです。
<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.LoggedInTemplate.FindControl("LoginName1") as LoginName;
// LoginName loginName = LoginView1.FindControl("LoginName1") as LoginName;
// loginName.FormatString = fullName;
}