5

ユーザー コントロールの基本クラスで宣言されているコントロールを ASP.NET 部分クラスに認識させるには、何か特別なことをする必要がありますか? 部分クラスは、基本クラスのコントロールの宣言を生成し続けます。これは、基本クラスのコントロールが非表示になり、null になることを意味します。

4

1 に答える 1

7

CodeFileBaseClass 属性を @Page または @Control 宣言に適用し基本クラスで宣言されたすべてのコントロールを ASP.NET ランタイムに認識させることができます。

MSDN は次のように説明しています。

ページの基本クラスの型名とそれに関連付けられたコード ビハインド クラスを指定します。

この属性はオプションですが、使用する場合は CodeFile 属性も存在する必要があります。Web ページで宣言されたコントロールを参照するために、基本クラスで共通フィールド (およびオプションで関連付けられたイベント) を定義する共有シナリオを実装する場合は、この属性を使用します。ASP.NET コード生成モデルのため、この属性を使用せずに基本クラスでフィールドを定義した場合、コンパイル時に、Web ページ (別の部分クラス スタブ内) で宣言されたコントロールに対して新しいメンバー定義が生成されます。希望のシナリオは機能しません。ただし、CodeFileBaseClass 属性を使用して基本クラスをページに関連付けると、基本クラスのフィールドは、コード生成後にページ上のコントロールを参照できるようになります

于 2010-03-08T15:07:27.967 に答える