私は、CSLAフレームワークとAJAXModalPopupExtenderコントロールを使用しているASP.NETプロジェクトの真っ最中です。以前、CSLAとModalPopupExtenderをさまざまなプロジェクトで使用したことがありますが、これらを一緒に使用するのはこれが初めてです。
私がそれを機能させたいのは、ユーザーがボタンを押すことです。これにより、オブジェクトのインスタンスが作成され、モーダルポップアップが表示されます。ポップアップには、作成されたばかりのオブジェクトに基づいて、CslaDataSourceにバインドされたコントロールがあります。
代わりに、実際に機能する方法は、ポップアップがまだ非表示になっている場合でも、たとえば最初のページのロード中に、ModalPopupにコントロールをロードすることです。コントロールがバインドされているオブジェクトがまだ存在しないため、これによりエラーが生成されます。そのため、aspxページでコントロールと対応するJavascriptを正しくレンダリングできません。エラーは次のとおりです。「MicrosoftJScriptランタイムエラー:Sys.ArgumentNullException:値をnullにすることはできません。パラメーター名:要素」
私の現在の回避策は、ダミーオブジェクトを事前に作成することです。これにより、ポップアップのコントロールが最初にバインドできるものがあります。次に、ユーザーがボタンを押したときにそのオブジェクトを置き換えます。私が見逃しているかもしれない、より少ないオーバーヘッドでより簡単な方法があるかどうか疑問に思っています。