2

動的に作成されたテキスト ボックスを持つ複合ユーザー コントロールがあります。テキスト ボックスが作成され、ASCX のプレースホルダーに挿入されると、作成したばかりのテキスト ボックスを対象とする AutoCompleteExtender も動的に作成します。ACE を 1 つだけ追加するとすべて正常に動作しますが、ページに複数の ACE が存在するとすぐに次のエラーが発生します。

Microsoft JScript ランタイム エラー: プロパティ '_behaviors' の値を取得できません: オブジェクトが null または未定義です

これは、jQuery 内に含まれる JScript エラーの特定の場所です。

var c=a._behaviors=a._behaviors||[];

ページにダミーのテキスト ボックスと ACE を作成すると、同じコードが機能します。しかし、これらはカスタム コントロールで作成する必要があります。

これは、私が「正しくやっている」ことを示しています。また、コントロールで ONE ACE を問題なく動作させることができるためです。

ページ メソッドではなく、Web サービスを使用しています。ユーザー コントロールとカスタム コントロールにページ メソッドを含めることはできません。それらは「ページ」にある必要があります。

私は多くのことを試しました - すべてのテキスト ボックスに一意の ID があることを確認しました。ACE にはすべて固有の ID があります。定義された ACE の BehaviorID を使用して、または使用せずに試しました (ここでも一意の ID を使用)。単一の ACE がうまく動作するため、Web サービスが機能することはわかっています。

生成された ACE のリストをコントロールからページ レベルまで渡し、それらをページ レベルのプレースホルダーに挿入することさえ試みました。次に、提供された ID でテキストボックスが見つからないという RTE を取得します。

動的に生成されたテキスト ボックスとエクステンダーを使用して、複合ユーザー コントロールに複数の ACE を追加するためのヒントはありますか?

よろしく。

4

1 に答える 1