マスターページにあるloginviewがあります。ログイン制御のログインモードでは、ハイパーリンクがあります。ハイパーリンクにアクセスしたいのですが、エラーが発生します(オブジェクトが参照されていません...)
私のコードは:
HyperLink hp = FindControl("LoginView1_").FindControl("hpMng") as HyperLink;
マスターページにあるloginviewがあります。ログイン制御のログインモードでは、ハイパーリンクがあります。ハイパーリンクにアクセスしたいのですが、エラーが発生します(オブジェクトが参照されていません...)
私のコードは:
HyperLink hp = FindControl("LoginView1_").FindControl("hpMng") as HyperLink;
このFindControlメソッドは、探しているコントロールのコレクションの下にあるコントロールのみを検索します。完全な再帰検索は行いません。
あなたの場合、同じページ(MasterPage)にいるので、このようなことができます
var h = this.login.FindControl("link") as HyperLink;
this.msg.Text = h.Text;
HyperLinkコントロールが にある場合は、ユーザーがログインしてLoggedInTemplateいるときにのみ使用できることに注意してください。コントロールがコントロール内にある場合、ユーザーがアプリケーションにログインしていない場合にのみ使用できます。null 参照例外を回避するには、これを考慮してください。HyperLinkAnonymousTemplate
私にとっては、うまくいきます。ログイン後に試していますか?明らかに、de 内で宣言しており、ログに記録されていない場合、コントロールはレンダリングさLoggedInTemplateれません。
?FindControl("HeadLoginView").FindControl("hpMng")
{Text = "aaa"}
System.Web.UI.WebControls.HyperLink: {Text = "aaa"}