4

CustomControlプロパティ属性を持つカスタム ASP.NET サーバー コントロールがありますPath

Pathが明示的に指定されていない場合は、例外をスローします。

例えば、

<myControls:CustomControl Path="somedirectory/someotherdirectory/somefile.ext" runat="server" />

コンパイルする必要があり、

<myControls:CustomControl runat="server" />例外をスローする必要があります。

プロパティのゲッターでこれを行うことができることはわかっていPathますが、これを必要とする属性はありますか?

アップデート

コード ビハインド プロパティのゲッター メソッドで使用する以外に、プロパティ属性の値を検証するメカニズムはありますか?

4

4 に答える 4

7

カスタム コントロールの init イベントでこれを確認し、例外をスローできます。

アップデート

がある; init イベントで確認してください。ホスト (ページまたはユーザー コントロール) の init イベントの後に呼び出されるコントロールの init として。したがって、null または空の場合は例外をスローできます

于 2011-03-11T18:33:40.527 に答える
1

これはコンパイル時のチェックではないと思います。

結局、プロパティ値は、page_load または同様のイベント中にコード ビハインドで提供される可能性があります。

于 2011-03-11T18:33:24.240 に答える
0

これを必要とする属性はありません。これを行うのに最適な場所は、Path プロパティのゲッターです。

于 2011-03-11T18:33:03.140 に答える
0

いいえ、ページ フレームワークにこれを強制する方法はありません。実行時にコードでそれを行い、値が提供されなかった場合は例外を発生させる必要があります。そうしないと、「くそ、runat=server 部分を忘れた」というエラーに遭遇することはありません :)

于 2011-03-11T18:33:39.147 に答える