Laden...

Dynamische Breite beim ModalPopupExtender

Erstellt von dr_d00m vor 15 Jahren Letzter Beitrag vor 15 Jahren 835 Views
dr_d00m Themenstarter:in
43 Beiträge seit 2008
vor 15 Jahren
Dynamische Breite beim ModalPopupExtender

Hallo Leute,
ich habe ein Panel, welches ich per ModalPopupExtender anzeigen kann. In diesem Panel befindet sich ein GridView, welches ich dynamisch mit Daten fülle. Dazu gehört auch, dass die Spalten dynamisch erzeugt werden. Das bedeutet, dass ich so zwischen einer und 12 Spalten haben kann. Dadurch ändert sich natürlich auch die Breite des Panels, da ich style="width:auto;" eingestellt habe. Das Panel ragt dann (zumindest bei 1024x768 ) über den Bildschirmrand hinaus.
Nun möchte ich auch keine feste Größe einstellen, da das mit nur einer Spalte einigermaßen bescheiden aussieht.
Mein Ansatz war nun folgender: Ich möchte, falls das Panel größer als 950px wird, die Größe des Divs in dem das Panel liegt oder des Panels selbst auf 950px setzen.
Vermutlich ist hier Javascript angesagt.
Ich hab das auch mit folgendem Code ausprobiert:


            string clientScript =
                "<script type=\"text/javascript\">" +
                "if(document.getElementById('pick_list').offsetWidth>950)" +
                "{" +
                    "document.getElementById('pick_list').style.width=90+\"%\";" +
                "}" +
                "</script>";

            ClientScript.RegisterStartupScript(GetType(), "", clientScript);

Leider komme ich damit nicht weit. Das Panel behält seine Größe, was ich auch mache.
Ich weis auch grad nicht mehr weiter.
Kennt jemand vielleicht eine Lösung für das Problem oder hat einen guten Ansatz?

Mfg
dr_d00m

5.942 Beiträge seit 2005
vor 15 Jahren

--
Microsoft MVP - Visual Developer ASP / ASP.NET, Switzerland 2007 - 2011

dr_d00m Themenstarter:in
43 Beiträge seit 2008
vor 15 Jahren

Danke, das waren genau die richtigen Tipps.
Ich beziehe jetzt die IDs dynamisch über <control>.ClientId und es läuft. Außerdem muss ich sagen, dass ich von firebug extrem begeistert bin.

Danke nochmal und Gruß

dr_d00m