none
ASP サブディレクトリからの参照 RRS feed

  • 質問

  • VS2005にてASP2.0のVBプロジェクト構成

    ASPプロジェクトを作成し、ルートのGlobal.asaxファイルにPublic関数を宣言しました。

    ソリューションエクスプローラー上からサブディレクトリを追加し、aspxファイルを配置(コード分離を選択)したのですが、このaspxファイルのclassから上位のGlobal_asaxクラスのメンバにアクセス出来ず、悩んでおります。。。

    そればかりか、VS2005での明示的なnamespaceの使用ってどうすれば出来るのでしょうか?

    VS2003ではnamespaceを自由に宣言し、明示的に指定しておりましたが、VS2005ではこのようなプロジェクト構成は出来ないんでしょうか?

    VS2005での基本的なプロジェクト構成の管理方法が理解できていないのは自覚しておりますが、ますは、VS2005を使用してサブディレクトリにaspxファイルを設置する場合は上位のGlobal_asaxへの参照をどう扱えばよいのか、お分かりの方がいらっしゃいましたらご教授下さい。

     

    2006年11月20日 7:35

すべての返信

  • Global.asaxの中に次のように記述したとして。

        public static string GetString()
        {
            return "global.asaxで定義した文字列";
        }

    他のページでは以下のようにしてこのメソッドにアクセスできますね。

            this.Label1.Text = ASP.global_asax.GetString();

    ASPという名前空間やglobal_asaxという名前は固定です。というか、コンパイル時に自動的に生成される名前になります。
    とりあえず手元ではこれで動いています。

    #global.asaxに共通関数を置くのがよいかどうかは議論のあるところだと思いますが。


     

    2006年11月20日 8:37
  • Toどっとねっとふぁん様

    ご案内ありがとうございます。ご教授頂きました内容でアクセスの確認が出来ました。

    VS2005では、ASPという名前空間は固定であることも理解いたしました。

    そうしますと、App_Code以外のディレクトリで独自にnamespaceを階層化することは出来ないということなのでしょうか?

    VS2003のクラスビューに慣れてしまっており、少なからず戸惑いを感じております。

    管理上の問題なんですが、以前は、例えば、管理者用のツールとなるWebページなどを物理的なディレクトリだけでなく、namespace自体も階層化してクラスビューで作業していたのですが、そういったクラス管理は不適切ということなんでしょうかね。

     

     

     

    2006年11月21日 1:40
  • > 管理上の問題なんですが、以前は、例えば、管理者用のツールとなるWebページなどを物理的なディレクトリだけでなく、namespace自体も階層化してクラスビューで作業していたのですが、そういったクラス管理は不適切ということなんでしょうかね。

    いや、それならglobal.asaxなどを使わずに自分でクラスをきちんと作って管理するようにすべきでしょう。
    ASP.NET 2.0ではデフォルトでは実行時にaspxファイルだけでなくソースファイルも含めてコンパイルされるようになったためにクラスビューあたりの見え方も変わっていると思います。

    2006年11月21日 3:57