ASP.NET Zone

Die ASP.NET Community. Alle Antworten rund um Microsoft® Webtechnologien
Willkommen bei ASP.NET Zone. Anmelden | Registrieren | Hilfe | Impressum | ASP.NET Zone Suchplugin

Home Blogs Foren FAQ Communities Fotos Downloads
Werbeanzeige

Listbox-Scrollbalken-Position soll nach Postback erhalten bleiben! - Aber wie?

  •  02-20-2009, 14:44

    Listbox-Scrollbalken-Position soll nach Postback erhalten bleiben! - Aber wie?

    Hallo Kollegen,

    ich habe eine ListBox, welche ich dynamisch über xmlDataSource mit Daten fülle. Es ist eine Mehrfachauswahl möglich und AutoPostBack ist aktiviert, und AJAX-Objekte sind leider verboten!!! ;(

    Jetzt will der user das nach jedem Postback der Scrollbalken an die ursprüngliche Auswahl zurückspringt. Im Moment ist es so, dass der Balken immer auf den Anfang der ListBox zurück springt.

    Die Lösung ist selbstverständlich ein ClientScript, welches ich in der ListBox1.SelectedItemChanged()-Methode aufrufe.

    So sieht das dann aus:

    In der Default.aspx steht im Headbereich folgendes script:

    <script language="javascript" type="text/jscript">
      function setFocus(id)
      {
        var elm = document.getElementById(id);
         elm.focus();
      };
     </script>

     

    protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
     {
      string script = "<script language='javascript'>setFocus('{0}');</script>";
      Type csType = this.GetType();

      ClientScriptManager myCSM = Page.ClientScript;
      myCSM.RegisterStartupScript(csType, "csScrollbar", script);

    }

    Wird die ListBox1_SelectedIndexChanged()-Methode aufgerufen, springt der Code doch tatsächlich in den Scriptblock auf Default.aspx, aber bei der Zeile:

    "elm.focus()" bekomme ich einen Runtime-Fehler.

    Ich weiß also nicht genau, ob mein Quellcode richtig funtzt, da eben dieser Fehler.

    Wie würdet ihr das ganze angehen?

    Beste Grüße, Didg

     

    P.S.: Ich kenn mich in JavaScript nicht so wirklich aus! ;)

     


    Heaven is now, or never!
Das ganze Thema ansehen
Powered by Community Server (Commercial Edition)