私は一般的にjqueryとjavascriptプログラミングにまったく慣れていないので、しばらくお待ちください。
jquery オートコンプリート プラグインのインスタンスを含む ASP.NET Web ユーザー コントロール (region.ascx) があります。jquery コード (簡潔にするためにコードを省略しています) は次のとおりです。
$(function () {
initializerRegion();
});
var prmInstance = Sys.WebForms.PageRequestManager.getInstance();
prmInstance.add_endRequest(function () {
//you need to re-bind your jquery events here
initializerRegion();
});
function initializerRegion() {
$($get('<%= autoRegion.ClientID %>')).autocomplete({
source: function (request, response) {..........................
asp.net ページにコントロールのインスタンスが 1 つしかない場合、コントロールは正常に動作します。2 つの個別のユーザー コントロール (Org.ascx と Place.ascx) があり、それぞれが単一の asp.net ページにある region.ascx のインスタンスを持っているため、上記のコードの 2 つのインスタンスになってしまいます。 . この場合、最後のインスタンス (place.ascx 用) のみが正しく初期化され、機能します。もう一方のインスタンス (org.ascx) は何もしません。
上記の Initializer コードを必要な各コントロールに配置し、基本的に region.ascx コントロールを取り除くことで、これを回避できると思います。これを行ってイニシャライザ関数の名前を一意にすれば、うまくいくかもしれないと感じています。
私の質問は次のとおりです。これを正しく行っていますか? これを回避する方法はありますか?