これはちょっと抽象ですが、ここにあります:サイトをグローバルにするにはどうすればよいですか?
私はウェブサイトを作成していて、サイトのどのページからでもアクセスできるフィールド "foo"を持っています。これを行う最善の方法は、 "bar"というページのサブクラスを作成し、保護されたフィールド "foo"を追加し、 "bar"からすべてのWebページを取得することだと考えました。タダ。すべてのページにfooが追加されました。
しかし、私は自分のページにコントロールを追加して、 "foo"にアクセスできるようにします。
さて、fooは保護されないので、公開されています。ファイン。しかし、コントロールは "foo"についてどのように知っていますか?
Foo foo = ((Bar)Page).foo;
これは機能しますが、私は少し醜いと思います。私は本当にfooを使えるようにしたいと思っています。私は、ちょっと、私がページのためにやったコントロールで同じトリックをすることができるかもしれないと考えています。私はUserControlから継承する新しいクラス "blargh"を作成し、そこで醜い方法でfooを取得します。それから、私のコントロールはぼんやりしています。わーい!
それ以外は機能しません。私がプロジェクトを立ち上げると、ページがヌルなので、アクセスしようとしている行((Bar)Page).fooに不満があります。どうして? Pageはnullになる可能性がありますか?コールスタックを見ると、何の助けも得られません。
これを行うには簡単に、よく理解された方法がありますか?私は間違った木を吠えますか?
誰かがこの質問を投票しましたか?理由を知ることに興味があるので、可能であれば修正することができます。 – Beska