Internet Explorer 6 DropDownList vs AJAX

Szerencsétlen hatos explorerben kicsit furcsán viselkednek a legördülőlisták. Legutóbb azzal borzolta az idegeimet, hogy ha volt ModalPopupExtender az oldalon és felbukkantottam .Show()-val, akkor ELTŰNT AZ ÖSSZES DropdownList. Nem is jelent meg soha többet, csak ha újratöltődött az oldal.

Meggoogléztam és mások is hasonló anomáliákkal küzdenek:

http://forums.asp.net/p/1093145/1645405.aspx

http://forums.asp.net/p/1159495/1912872.aspx

http://www.codeplex.com/AtlasControlToolkit/WorkItem/View.aspx?WorkItemId=10930

http://forums.asp.net/t/1015368.aspx

...

Nem igazán találtam szép megoldást arra, hogy legalább a ModalPopupExtender bezárása után újra feltűnjenek a DropDownListjeim (ModalPopup mellett úgysem használhatóak, de utána szükség van rájuk). Sőt gyakorlatilag semmilyen kultúrmegoldást nem találtam.

Végülk kiötlöttem, hogy csinálak egy javascript EndRequest eseménykezelőt és ott beállítom az összes DropDownList láthatóságát visible-re. Kipróbáltam, működik.

Ezt szúrtam be az oldalam végére:

<script type="text/javascript" language="javascript">
    Sys.WebForms.PageRequestManager.getInstance().add_endRequest( EndRequestHandler )

    function EndRequestHandler(sender, args)
    {
        $get( '<%= this.ddlIzeBize.ClientID %>' ).style.visibility = "visible"
    } 
</script>

Ez rendesen visszaállítja a ddlIzeBize láthatóságát.



Dávid Zoltán

Dávid Zoltán Mérnök Informatikusként végeztem a BME-n, jelenleg webfejlesztéssel és gépi tanulással foglalkozom.

2007.11.25. 23:15:10 | Permalink | Hozzászólások: 3 | Tárgyszavak: , ,


  • Barátságos HTTPS átirányítás

    Balássy György (MS RD, ASP.NET MVP, MCTS) Gyakori üzemeltetői feladat, hogy egy oldalt csak biztonságos HTTPS csatornán keresztül szeretnénk elérhetővé tenni. Sajnos nem minden üzemeltetőnek tűnik fel, hogy az is a feladat része, hogy az apró “s” betűt be nem gépelő felhasználókat barátságosan átirányítsuk a biztonságos címre: tegye fel a kezét, aki még nem látott 403.4 Forbidden: SSL is required to view this resource hibaüzenetet. Na ugye. Mennyivel szebb lenne, ha az alapértelmezett hibaüzenet helyett eljuttatnánk a felhasználót oda, ahova indult, csak éppen nem HTTP-n, hanem HTTPS-en keresztül. Tovább »
  • WorkItemTypeDeniedOrNotExistException

    Balássy György (MS RD, ASP.NET MVP, MCTS) Ebbe a szép hibaüzenetbe tegnap futottunk bele, miközben Visual Studioban egy TFS work itemet akartunk megtekinteni. Tovább »


Írja meg Ön is véleményét!


Hozzászólásokat csak regisztrált, bejelentkezett felhasználóktól tudunk elfogadni!

Hozzászólások


Gubo Gubo  (2007.11.26. 21:20:32)

Sajnos jelenleg egy ASPXként csücsül egy saját keretrendszer corejában.Egy Modal ablakot implementál , van benne egy DragPanel, AnimationExtender, RoundedCornersExtender. Bárhonnan meg lehet hivni ShowModal(ascxpath)-al. Magára húzza az ascx-et és egy modális draggelhető rounded ablakocska lesz belőle. A Recept az volt, hogy megnéztem a Toolkit, a Yahoo YUI, és még egy pár free cucc forrását, megértvén hogy ilyenkor minek is kellene a háttérben történnie. Kicsit ez a dolog túlment az extender határain, egy univerzális modal ablakozó lett belőle. A fejlesztök ascx-eket irogatnak, majd szinkron vagy aszinkron módban dobálják fel a modal ablakokat. Ha lesz időm talán faragok belőle egy valódi extendert.

Dávid Zoltán Dávid Zoltán  (2007.11.26. 20:24:38)

Sajat ModulPopup? Meg lehet nezni? hogy csinaltad?

Gubo Gubo  (2007.11.26. 12:39:44)

Hát pld. emiatt kalapáltam össze egy saját modalpopupextendert. A probléma onnan ered hogy IE6 ban a Select nem vonul a háttérbe ha egy IFrameval eltakarjuk. A Toolkites modalpopupop forrásában látni valahol hogy a fiúk foglalkoztak ezzel a problémával, úgy hogy erőből eltüntetik az összes selectet, azonban a selectek láthatóvá tétele már nem nagyon sikerült. Valójában emiatt tünnek el a DropdownListák.