1

別のまったく新しい質問ですが、恐れ入りますが、内部にいくつかのハイパーリンクを含むLoginViewがありますが、コード ビハインドでハイパーリンクを参照しようとすると、「現在のコンテキスト」に存在しないことがわかります。

例えば。hypLink1.NavigateUrl = "some/link/on/my/site.aspx"

LoginView内にあるために見つからないことがわかったので、LoginView 内を調べるように指示するにはどうすればよいでしょうか。

私はそれが次のような直感的なものかもしれないと思った:

LoginView1.hypLink1.NavigateUrl = "some/link/on/my/site.aspx"

しかし、役に立たない。

この(おそらく)本当に明白な問題について助けてくれてありがとう!

4

1 に答える 1

4

loginview コントロールの外側からハイパーリンクを参照しようとしていると思いますか?

その時点で、LoginView で FindControls 操作を試すことができます。

HyperLink hypLink1 = (HyperLink)LoginView1.FindControls("hypLink1");

アップデート

わかりましたので、あなたが何を求めているのか混乱しました。LoginView コントロールは FindControls のみを許可するため、内部のコントロールを参照するには、上記のコード スニペットを使用する必要があります。

LoginView コントロールはテンプレートを使用するため、状況によって異なるコントロールが存在します。そのため、コードは、テンプレート内の特定のコントロールがコンパイル時に有効であることを保証できません。

したがって、子コントロールを取得するたびに FindControls を実行する必要があります:'(

于 2010-04-12T19:11:53.917 に答える