ASP.NET(C#)で共通ルーチンの分け方

このQ&Aのポイント
  • ASP.NET(C#)で共通ルーチンを抜き出して複数のページで共有する方法について教えてください。
  • ASP.NET2.0(C#)を使用している場合、A.aspx.csとB.aspx.csで同じ関数がある場合に、それを別のファイルに抜き出して共有する方法を教えてください。
  • ASP.NET(C#)のサイトで共通の関数を複数のページで使用したい場合、どのようにすればよいですか?
回答を見る
  • ベストアンサー

ASP.NET(C#)で共通ルーチンの分け方

こんにちは。 ASP.NET2.0(C#)を使っています。 ASPのサイトで以下のような構成の時、 A.aspx-A.aspx.cs B.aspx-B.aspx.cs (A.aspx,B.aspxがそれぞれaspのページ、A.aspx.cs,B.aspx.csが、それらに対するコードファイルとなります。A.aspx.csとB.aspx.csとは同じディレクトリにあります。) A.aspx.csとB.aspx.csとで同じ関数があるので、その関数を別のファイルに抜き出して、A.aspx.csとB.aspx.cs双方から共通に使えるようにしたいのですが、こういった場合はどのようにするのがよいのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

ページ間で共有するコードは、WEBアプリケーションのルートにApp_Codeフォルダを作成し、クラスファイルとして保持するのがいいかと思います。

参考URL:
http://msdn2.microsoft.com/ja-jp/library/t990ks23.aspx
titokani
質問者

お礼

うまくいきました。ありがとうございます。

関連するQ&A

  • ASP.NETでの共通コードの書き方を教えてください。

    ASP.NETでの共通コードの書き方を教えてください。 いつもお世話になっております。 最近、microsoft Accessで作成したシステムを、Visual Wev Developer 2008を利用して、asp.netに移行しようとしております。 そこで質問なのですが、VBAなどでは、各フォームで共通利用するグローバル関数(Function)をモジュールオブジェクトに作成できましたが、ASP .NETでは、各ページで共通利用する関数をどこに記載したらいいのでしょうか。(たとえば、共通の計算式など) 初歩的なことかもしれませんが、具体的な手順をご指導いただければ大変助かります。 よろしくお願いいたいします。

  • asp.netで*.aspxが表示されない

    windows7 + VS2005のasp.net でビルド時にブラウザが立ち上がるのですが、 *.aspxのページが表示されず、ディレクトリが表示されてしまいます。 (*.aspxのプログラムが動作していない?) 恐らくIISの設定だと思うのですが、どのように設定したらいいのでしょうか? ちなみにhttp://localhost/asp/ どようなアドレスで構成しています。 ちなみに1からVSを作成して、ビルドすると、*.aspxページは表示されますが、 URLは臨時で作成されたような http://localhost:62236/testes1/ アドレスになります。

  • ASP.NETの初心者です。

    今自身で認識してる事が正しいのかわかりません。 以前ASPの開発をしていました、今度ASP.NETの開発をする事になりました、既にあるASP.NETの変更をするのですが、ファイルの形式がどうしてもわかりません、Visual Studioで作成するのはASPだけ? index.aspx を起動するには、index.aspx.cs、 index.aspx.resxが必要、このcsファイル、resxファイルはどのように作成?される、どのような意味を持つファイルなのでしょうか? 又、コンパイルのとプログラミングコードを暗号化する事? ホスティングがASP.NET 1.1 をサポートしています、その際にVisual Studio 2005での開発およびコンパイルは可能なのでしょうか? データベースの接続を変更するのですが、その際は再度コンパイルが必要な為、その際のコンパイル方法が分かりません。 本をオーダーしたのですが、海外に住んでる為届くのに一ヶ月かかると言われ、初歩的な質問ですが、宜しくお願いいたします。

  • ASP.netにて質問です。

    WEB開発が初心者でいろいろ悩んでいます。 ・ASP.net2.0 ・C# 現在、ログインページとメインページがあります。 今後、ページが増えていくので、 メインページ内で処理していたことを全ページで使用できるように APP_code配下へクラスを作成し、処理を移植しました。 そこで、メインページのaspx.csでは問題なく出来ていたが、APP_code配下のcsでは出来なくなってしました。 [内容] object ses = Session["hoge"]; ←この処理が出来なくなってしまったので、下記に変更 object ses = System.Web.HttpContext.Current.Session["hoge"];  ⇒結果は「NullReferenceExceptionはユーザーコードによってハンドルされませんでした。」   となってしまいます。   System.Web.HttpContext.Current.Session["hoge"]の結果はNullなのが問題だとは思うのですが、   元のaspx.csで実装されていた時はNullであっても特に問題はありませんでした。 また、Response.Redirect("hoge.aspx")についても System.Web.HttpContext.Current.Response.Redirect("hoge.aspx") と修正したが、hoge.aspxへリダイレクトしません。 対処方法を教えて頂きたく思います。

  • ASP.NETで、ユーザー毎の固定サブアドレス実現

    ASP.NETで、ショップ検索サイトを作成しようと考えております。 開発環境はVS2008のC#です。 今実現したい仕様で悩んでいるのが以下です。 1.ショップごとにショップの管理者が登録した時点でSHOPのIDを固定のHPアドレスとして与えたい。(ドメイン以下のサブアドレスでOK) http://www.hogehoge.jp/●●●  ← (この部分) /index.html 1の仕様を満たした上で 2.ショップごとに、IDを設け、そのIDとパスで、ログインした場合、HPを編集できるようにしたい。 上記を実現するにはどのような方法がありますでしょうか。 私の考えではまず、 A.aspx (ユーザー登録ページ) (B)フォルダ ー B.aspx or html (お客様アクセス用) Cフォルダ ー C.aspx (ショップ管理者編集用) という構成を実現した上で、 1は、Aという、ユーザー作成ページで、ユーザー作成時にフォルダ作成(B)、(B)フォルダ内に、aspxのファイル作成、もしくはhtmlファイル作成。 ユーザー作成ページで、編集した内容を(B)下のHPに反映させて、 B.aspx、もしくは、B.htmlを作成。 お客様が、ショップ検索をした時に、ショップのファイルにアクセスするには、フォルダ(B)にアクセスする。 2はショップ編集ページCを、別フォルダCに存在させ、idとパスをセッションに持たせ、一致し た場合のみフォルダにログインand shopHP を編集できるようにすることで実現する。 ここで、悩みは、aspxのページは動的に追加する等は出来るのか否かわからない所です。(もしご存知の方いましたら、ご指摘ください。) もしhtmlファイルを追加するとなると、htmlを作成した上で、動的操作は、マスターページをヘッダー等に適応させて、javascriptと、マスターページのサーバーサイドの処理を組み合わせて、サーバーや、DB処理を行うしかないかと考えています。 ただし、動的にDBの内容を反映させるHPは、html形式よりも、aspxの方が何かと便利な気もしますし。ただ、お客様の検索時は、呼び出すショップHPは動的ページである必要性も ないですから、HPのIDさえ呼び出せれば、静的HTMLを呼び出すのみで仕様を満たせる気もします。ただし、DBの内容を書き換えただけではDBと、 HTMLの内容が必ずも一致しないという可能性は生じますが。。。 固定アドレスにこだわらなければ、特に1の悩みは発生しないんですが、「エキテン」 http://www.ekiten.jp/index.html というサイトや、「facebook」の個人用WEBなど、shopや、ユーザーごとにidをサブアドレスに適応させている動的サイトを見ると、このような構成をasp.netでも 実現したいな。。。と思いまして。。。 膨大な数のidのフォルダ管理は、プログラム処理で実現させるしかないと思います。 どなたでも、お気軽に御意見いただけますと幸いです。

  • Asp.netで開発しています。

    Asp.netで開発しています。 vs2005で作成したASPのモジュールをIISに移行したいのですがIIS上だとエラーがでます。 /////////////////////////////////////////////////////////////////// パーサー エラー 説明: この要求の処理に必要なリソースの解析中にエラーが発生しました。 以下の解析エラーの詳細を確認し、ソースファイルに変更を加えてください。 パーサー エラー メッセージ: 型 'test._Default' を読み込めませんでした。 ソース エラー: 行 1: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="test._Default" %> ///////////////////////////////////////////////////////////////// 拡張子.aspは簡単なサンプルを起動できるのですが、.aspxだとどれもエラーがでます。 マッピングのための処理はしたのですが・・・解決をして下さい。お願いします。

  • ASP.Net Session管理について

    ASP.Net 2.0 で開発をする初心者です。 Session管理について教えてください。 ログインページからいくつかのサブページに渡る際     Response.Redirect("~/A.aspx") それぞれのページでセッション設定しないといけないのでしょうか?     Session("Key") = Me.TextBox1.Text よろしくお願い致します。 Login.aspx --- Menu.aspx--|--- A.aspx                  |--- B.aspx                       |--- C.aspx                            |--- D.aspx                  |--- E.aspx

  • ASP.NETで共通ファイルにまずアクセス?

    IISのASP.NETで複数のページがあり、 共通のメソッドを実行したい場合、 各ページにメソッドを記述しないといけません。 これをある特定のファイルに記述しておけば、 全部のアクセスは最初にそこを通るようにするような ことは可能でしょうか?

  • ASP.NET 3.5 アプリのフォルダ構成

    ASP.NET 3.5 アプリを作成する上で、おすすめなフォルダ構成はありますか? 漠然とした質問のため、漠然とした回答で構いません。 例えば │ web.config │ ├─App_Data ├─src │ Default.aspx.cs ・・・csファイルを配置 │ └─test1 └─testa Default.aspx ・・・aspxファイルを配置 なお、フレームワークとMVCは使用しません。

  • ASPを使用してフレームの見た目制御

    ASPを使って以下のようなWebアプリケーションを構築しようと思っています。 まず表示されるのはフレームで二つにわかられたページです。初期に呼び出されたときに、上部にはDBアクセスのあるA.asp、下部には普通のHTMLである、B.htmを表示します。A.aspの処理が終わったときに、B.htmをC.htmにリダイレクトさせたい、というときにどのようなコードを書けばいいのでしょうか。

専門家に質問してみよう