Mehrere Instanzen von ASP.NET UserControl mit der Abfrage Autocomplete auf derselben Seite

Ich bin ein Neuling in der JavaScript-Programmierung. Bitte haben Sie etwas Geduld.

Ich besitze ein ASP.NET-Webbenutzersteuerelement (region.ascx), das eine Instanz des Plug-ins für die automatische Vervollständigung von Abfragen enthält. Der JQuery-Code (ich habe den Code der Kürze halber abgeschnitten) lautet wie folgt:

$(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) {..........................

Das Steuerelement funktioniert einwandfrei, wenn auf einer asp.net-Seite nur eine Instanz des Steuerelements vorhanden ist. Ich habe eine Situation, in der ich zwei separate Benutzersteuerelemente (Org.ascx und Place.ascx) habe, die jeweils eine Instanz von region.ascx auf einer einzelnen asp.net-Seite haben. Daher erhalte ich 2 Instanzen des obigen Codes . In diesem Fall wird nur die letzte Instanz (für place.ascx) korrekt initialisiert und funktioniert. Die andere Instanz (org.ascx) macht nichts.

Ich glaube, ich kann dies umgehen, indem ich den obigen Initializer-Code in jedes der Steuerelemente einfüge, die es benötigen, und im Wesentlichen mein region.ascx-Steuerelement entferne. Ich habe das Gefühl, dass es möglicherweise funktioniert, wenn ich dies tue und die Namen der Initialisierungsfunktionen eindeutig mache.

Meine Frage ist: Mache ich das richtig? Gibt es einen Weg, dies zu umgehen?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage