Inline UpdateProgress

Nem mondhatom magamról, hogy dizájner vér folyik az ereimben, mégis többen egyetértettek már azon ötletemmel, hogy az AJAXos háttérműveletet jelző pörgő gif az aszinkron postbacket kiváltó vezérlő, tipikusan Button mellett legyen. Az ASP.NET AJAX fejlesztői szerint azonban senki ne akarjon UpdateProgresst inline használni.

Ha megnézzük Reflectorban az UpdateProgress forráskódját azonnal látszik, hogy valamelyik idióta elég biztosra ment ezzel kapcsolatban:

Az UpdateProgress vezérlő forráskódja

Ott virít középen a display:block CSS beállítás. Aki érti, hogy ez miért kell ide, kérem írja meg, úgy szeretném megérteni…

Ha már így belekukkantottunk, az is látszik, hogy az UpdateProgress mindig pontosan egy div elemet renderel magából, amire azonban nem tudunk kívülről CSS osztályt ültetni. Csakhogy semmi akadálya, hogy az egészet becsomagoljuk egy külső divbe:

  <div class="progress">
    <asp:UpdateProgress runat="server" AssociatedUpdatePanelID="up" 
DisplayAfter="0" DynamicLayout="false"> <ProgressTemplate> <asp:Image runat="server"
ImageUrl="progress.gif"
AlternateText="Mentés folyamatban..." /> </ProgressTemplate> </asp:UpdateProgress> </div>

Majd a külső divre megadott CSS classra állítsunk be olyan stílust, ami igazából az UpdateProgress által generált divre fog alkalmazódni:

  div.progress
  {
    display: inline;
  }
  div.progress div
  {
    display: inline !important;
  }

Íme az eredmény:

UpdateProgress inline megjelenítése

Technorati-címkék: ,,,,

Advertisements

Vélemény, hozzászólás?

Adatok megadása vagy bejelentkezés valamelyik ikonnal:

WordPress.com Logo

Hozzászólhat a WordPress.com felhasználói fiók használatával. Kilépés / Módosítás )

Twitter kép

Hozzászólhat a Twitter felhasználói fiók használatával. Kilépés / Módosítás )

Facebook kép

Hozzászólhat a Facebook felhasználói fiók használatával. Kilépés / Módosítás )

Google+ kép

Hozzászólhat a Google+ felhasználói fiók használatával. Kilépés / Módosítás )

Kapcsolódás: %s