マスターページにある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 参照例外を回避するには、これを考慮してください。HyperLink
AnonymousTemplate
私にとっては、うまくいきます。ログイン後に試していますか?明らかに、de 内で宣言しており、ログに記録されていない場合、コントロールはレンダリングさLoggedInTemplate
れません。
?FindControl("HeadLoginView").FindControl("hpMng")
{Text = "aaa"}
System.Web.UI.WebControls.HyperLink: {Text = "aaa"}