7

aspxページの部分クラスの背後にあるコードはなぜですか?

4

5 に答える 5

13

このMSDN ページ(ASP.NET ページ クラスの概要) を参照してください。

ページがコンパイルされると、ASP.NET は .aspx ファイルに基づいて部分クラスを生成します。このクラスは分離コード クラス ファイルの部分クラスです。生成された部分クラス ファイルには、ページのコントロールの宣言が含まれています。この部分クラスを使用すると、コントロールを明示的に宣言しなくても、コード ビハインド ファイルを完全なクラスの一部として使用できます。

このチャートを参照してください:

代替テキスト http://img30.imageshack.us/img30/7692/msdnchart.gif

このようにして、ロジックを含む 1 つのクラスと、デザイナーのものを含む 1 つのクラスができます。コンパイル時に全体として生成されます。

于 2009-08-25T18:55:33.117 に答える
4

クラスの他の部分(デザイナーのもの)が開発者から隠されているため

たとえば、これの代わりに

public MyBasePage : System.Web.UI.Page
{
    ...
    protected System.Web.UI.Label lblName;

    protected void Page_Load(object sender, EventArgs e)
    {
    }
    ...
}

ASP.NETは、これらの宣言をさまざまな物理ファイルに作成し、これを残します

public partial class MyBasePage : System.Web.UI.Page
{
    ...

    protected void Page_Load(object sender, EventArgs e)
    {
    }

    ...
}

より詳しい情報:

于 2009-08-25T18:53:14.387 に答える
1

部分ファイルのもう1つの理由は、クラス定義の一部がツールによって生成され(そして、ある時点で再生成される可能性があります)、クラスの残りの部分がユーザーによって実装される場合を処理するためです。

このような場合、部分クラスを使用しないと、コードが上書きされるか、生成プロセスでそのジョブを実行するのが困難になります(実行できる場合)。

部分クラスを配置すると、生成されたコードをコードに触れることなく簡単に再生成できます。

これのもう1つの良い例は、LINQ-to-SQLにDataContextクラスを使用する場合です。本当に賢いものが1セットの部分クラスファイルに生成され、検証などのために、他の部分クラスに安全な実装を提供できます。再生成があなたの仕事を破壊しないという知識。

于 2009-08-25T19:02:27.097 に答える
1

Partial 宣言を使用すると、他のファイルにコードを記述できます。コードを同じ名前空間に配置し、クラスに同じ名前を付けるだけで、それらは同じファイルにあるかのように扱われます。生成されたファイルに機能を追加するのに最適です。私はこれを最も頻繁に使用して、LinqToSql オブジェクトに関数/プロパティを追加します。

于 2009-08-25T18:56:19.700 に答える
0

Aspx.cs は PARTIAL クラスを使用します。これは、このクラスでアクセスされるコントロール (TextBox、GridView など) が .Aspx ファイル (つまり、物理的に別のファイル) で宣言されているため、1 つのクラスにコントロール宣言 (.aspx ファイル) と、宣言されたコントロールに基づく別のビジネス ロジックが含まれているためです。 .aspx ファイル。それらがコンパイルされると、全体が単一のクラスと見なされます。

于 2013-07-30T17:20:02.010 に答える