1

既存のasp.net C# Webアプリケーションがあり、サブフォルダー「Mobile」を作成し、モバイル領域で提供するフォルダー/ファイルをコピーして、モバイルバージョンの開発を開始しています。モバイル用のさまざまなスタイルとサイトマップでうまく機能しています。

例として、同じビジネス プロセスを提供する多くのページがありますが、スタイルまたはマスター ページの上下の 2 つの間のプレゼンテーション レイヤーに若干の変更がある場合があります。モバイル コピーとデスクトップ コピーの間で、Login.aspx ページのコード ビハインド ロジックを共有したいと思います。

私はasp.netを使用するのはかなり新しいので、簡単な例がいいでしょう。別のフォルダーに共有クラスを作成しようとしましたが、正しく参照できず、エラーなしでコンパイルできませんでした。

アイデア?

4

2 に答える 2

0

プロジェクトを右クリックして、Add ASP.NET Folder「App_Code」フォルダーを追加し、そこにクラスを配置します。その後、プロジェクト全体でそのクラスにアクセスできるはずです

于 2013-06-04T02:02:50.307 に答える
0

ビジネス ロジックを少なくとも App_Code フォルダーに分けます。ただし、それを独自のクラス ライブラリ プロジェクトに移動することをお勧めします。次に、Web サイト/Web アプリケーション プロジェクトからの参照をクラス ライブラリ プロジェクトに追加します。その方法は次のとおりです。ソリューション エクスプローラーでソリューションを右クリックし、[追加] > [新しいプロジェクト] に移動します。ここからクラス ライブラリ プロジェクトをソリューションに追加します。次に、サイト プロジェクトを右クリックし、[参照の追加] をクリックして、[プロジェクト] タブにいることを確認し、以前に作成したクラス ライブラリを選択します。ビジネス ロジックはクラス ライブラリ プロジェクトに配置され、サイト固有のロジックは Web サイト プロジェクトに配置されます。Using ステートメントをクラスに追加するか、完全な名前空間構文を使用してクラス ライブラリ内のクラスにアクセスする必要があります。

サイト固有のロジックでは、ページが同じページ固有のロジックを共有している場合、個々のページに共通の基本クラスを継承させることができます。

 public partial class _Default : System.Web.UI.Page
 {
 //This is all the code behind logic for Default.aspx. This code is in Default.aspx.cs. Notice how it is inheriting from System.Web.UI.Page directly.
 }

これに変更...

 public class BasePage : System.Web.UI.Page
 {
 //code common to multiple pages goes here. This file (BasePage.cs) goes in your App_Code folder.
 }

この...

 public class _Default : BasePage
 {
 //Now your default page inherits from BasePage class, and therefore it indirectly inherits from System.Web.UI.Page.
 }

App_Code 以外のフォルダーに .cs ファイルを配置することは、おそらくお勧めできません。コード ビハインド ファイル (.aspx.cs および .aspx.vb) は例外です。App_Code およびその他の特別なフォルダーの説明については、 http : //www.codeproject.com/Articles/31557/A-Beginner-s-Guide-to-ASP-NET-Application-Foldersを参照してください。

于 2013-06-04T04:41:18.533 に答える