Ich schreibe ein Serversteuerelement, das ein Suchfeld mit Vorschlägen ist (wenn der Benutzer mit der Eingabe beginnt, werden übereinstimmende Wörter für die Auswahl angezeigt). Ich benutze jQuery und C#.Einbetten von JQuery in das benutzerdefinierte Serversteuerelement
Das Steuerelement funktioniert einwandfrei, wenn ich die jquery Lib auf der Seite einschließe, auf der ich gerade teste. Es wird jedoch nicht funktionieren, wenn ich versuche, die Lib in die DLL einzubetten.
Ich habe völlig versucht es die Einbettung und Registrierung des Skripts:
ClientScriptManager manager = this.Page.ClientScript;
manager.RegisterClientScriptResource(typeof(Search), jqueryResource); //jqueryResource= SearchControl.javascript.jquery.js
und ich auch versucht habe das Hinzufügen nur einen Tag in der Kopfzeile der Seite, die die jquery umfasst:
string javascriptUrl = manager.GetWebResourceUrl(typeof(Search), jqueryResource);
LiteralControl jquery = new LiteralControl(string.Format(javascriptInclude, jqueryUrl));
Page.Header.Controls.Add(jquery);
Both Arten verursachen Javascript-Fehler (Objekt erwartet), wenn versucht wird, Informationen von den Kontrollen zu erhalten
var params = $("#searchBox").val(); //called on keyup when typing in textbox
Hat jemand das schon mal gemacht? Ist es möglich? Kann jemand etwas Licht darauf werfen?
PS: Assemblys sind bereits in der Datei AssemblyInfo.cs registriert.
Dies ist genau das, was ich anfangs getan habe und es hat immer noch nicht funktioniert. Dann klickte etwas, während ich weiter darüber nachdachte. Ich habe mir die Script-Datei-Build-Aktion angeschaut und denke, was? Das ist richtig, ich habe vergessen, dies als eine eingebettete Ressource zu setzen (Sie denken, dies würde dies tun, wenn Sie die Baugruppen registrieren). Wie auch immer, es funktioniert jetzt wie ein Zauber. Danke für Ihre Hilfe! –
Ich wusste, dass ich das auch hätte erwähnen sollen! Do. – GenericTypeTea
Vielen Dank für diese Erinnerung beim Festlegen der Ressource als Embedded. Das hat mich verrückt gemacht. –