Laden...

[gelöst] problem mit 2 varianten von ajax

Erstellt von Hurby vor 13 Jahren Letzter Beitrag vor 13 Jahren 612 Views
H
Hurby Themenstarter:in
222 Beiträge seit 2010
vor 13 Jahren
[gelöst] problem mit 2 varianten von ajax

moin,

folgend situation:

ich habe eine seite, in der ich mit dem ajaxcontroltoolkit mittels dem toolscriptmanager und dem updatepanel ein paar asynchrone postbacks eingebaut habe, also kein selbstgeschriebenes ajax. zur vereinfachung nenn ich das jetzt mal "falsches ajax"...

um eine art autovervollständigung ala google einzubauen hab ich aber nun "richtiges" ajax verwendet:


            ClientScriptManager ClientScript = Page.ClientScript;
            String CallBackReference = ClientScript.GetCallbackEventReference(this, "argument", "requestFinished", "context", true);

            String Script = String.Format("function sendAjaxRequest(argument, context){{\n {0}; }}", CallBackReference);

            if (!ClientScript.IsClientScriptBlockRegistered("callback"))
            {
                ClientScript.RegisterClientScriptBlock(this.GetType(), "callback", Script, true);
            }

wird die seite neu geladen, funktioniert alles super. das problem ist nur dass wenn mein "falsches ajax" einen postback zum server auslöst, geht danach mein "richtiges ajax" nicht mehr 🙁

ich könnte mir vorstellen dass nachdem mein "falsches ajax" die seite manipuliert hat, der ClientScriptBlock aus dem page-load nicht mehr auf den server zugreifen darf, quasi zur sicherheit.

habt ihr ne idee wie ich es besser lösen könnte???

ps: hoffentlich ist das thema richtig gewählt und meine pseude-begriffe nicht verwirrend...

mfg hurby

Die Welt hat genug für jedermanns Bedürfnisse, aber nicht für jedermanns Gier.

H
Hurby Themenstarter:in
222 Beiträge seit 2010
vor 13 Jahren

der hund liegt scheinbar woanders begraben:
die client-seitigen event-handler für meine textbox werden wie folgt an die textbox gebunden:


$(document).ready(function () {
  document.getElementById('_ActiveIndex').value = "-1";
  var textBox = document.getElementById(TextBoxID);

  if (navigator.appName == "Opera") {
    textBox.onkeypress = function (event) {
...

nun ist aber die textbox teil des updatepanels und wenn mein "falsches ajax" einen postback absetzt wird diese ja neu vom server geholt. allerdings wird der eventhandler nicht neu an die textbox gebunden, weil das dokument ja nicht neu vom server geladen wurde und jquery das ready-event nicht feuert...

ich denke auf dieser erkanntniss kann ich aufbauen, fragt sich nur wie 😃

mfg hurby

Die Welt hat genug für jedermanns Bedürfnisse, aber nicht für jedermanns Gier.

458 Beiträge seit 2007
vor 13 Jahren

Warum verwendest du nicht den AutoCompleteExtender des Toolkits?

be the hammer, not the nail!

H
Hurby Themenstarter:in
222 Beiträge seit 2010
vor 13 Jahren

na toll, 2 tage arbeit und microsoft ist mir mal wieder n schritt voraus 🤔
2 sekunden gehirn einschalten ersparrt 2 tage arbeit...
naja egal, so konnte ich wenigstens meine javascriptkentnisse n bisschen aufbessern...

fest steht: you made my day, vielen dank 👍

mfg hurby

Die Welt hat genug für jedermanns Bedürfnisse, aber nicht für jedermanns Gier.