C# - Webes alkalmazásokban használható apróságok

forráskód letöltése
Cikkünkben három webes, script-ekkel megvalósítható példát mutatunk be, melyek jól jöhetnek egy-egy alkalmazás fejlesztésekor. Az első példában bemutatjuk, hogyan ágyazhatunk egy .wav fájlok lejátszására alkalmas lejátszót a weboldalunkba, és hogyan jeleníthetjük meg ennek kezelőfelületét. A második példában egy HTML kontrolt teszünk elérhetővé akkor is, ha az adott oldalt görgetjük. A harmadik példában egy nem szokványos menüt készítünk el.
A mellékelt példa megnyitása előtt szükséges egy WebScriptTips nevű virtuális könyvtár létrehozása, mely a példa könyvtárára mutat. Ehhez futtassa le a mellékelt CreateVD.js parancsállományt.
A három példát a Web-alkalmazás három .aspx lapján valósítjuk meg. Lássuk ezeket sorban.
Hangállományok lejátszása
A WebForm1.aspx lap HTML-kódjában elhelyeztünk egy HTML-tagot, melynek eredményeképpen egy lejátszó kezelőfelülete jelenik meg a weblap megadott pozíciójában, és méretben. A műveletet az <EMBED> HTML tag valósítja meg, objektumként is funkcionál, vagyis kliens-oldali script-nyelvekből is elérhető.
A kódba kerülő deklaráció a következő:
<embed src="XPStart.wav" height="40" style="..." type="audio/wav">
Az alkalmazás mappájában található XPStart.wav állományt játsszuk le a lap betöltődésekor. A tag TYPE attribútumában adható meg az a mime típus, mely meghatározza a lejátszandó média típusát.
Mindig látszódó ComboBox kontrol
A WebForm1.aspx lapon található kontrol akkor is szem előtt marad, ha a lapot a lap vége felé görgetjük. A ComboBox kontrol linkeket tartalmaz, melyek közül a kijelölt URL betöltődik a böngészőbe.
A WebForm2.aspx lap betöltődésekor lefuttatjuk az Init metódust, melyben elindítunk egy időzítőt, mely 50 ezred-másodpercenként meghívja a Move metódust.
function Init()
{
  t = 70;
  comboobj = document.all["links"];
  if (document.all || document.getElementById)
  {
    cwidth = comboobj.offsetWidth;
    cheight = comboobj.offsetHeight;
    setInterval("Move()",50);
    comboobj.style.visibility = "visible";
  }
}
...
window.onload=Init;
A Move metódusban korrigáljuk a ComboBox pozícióját annak függvényében, hogy a felhasználó éppen hol tart a lap görgetésében.
function Move()
{
  var offsety = document.body.scrollTop;
  comboobj.style.left = 17;
  comboobj.style.top = offsety + t - cheight;
}
Menü megjelenítése
A WebFor3.aspx lapon valósítottunk meg egy menüt, melynek feliratai egy körív mentén helyezkednek el egy-egy nyomógombon. A menü egy objektum, mely a menu osztályból származik, és amelynek kódja a menu.js állományban van megvalósítva.
Az osztály deklarációja egyszerűen megoldható a következő séma szerint:
Osztálynév=
{
  <változók deklarációi>
  <metódusok deklarációi>
};
A menu osztály 4 metódust implementál, melyeket a weblapon hívunk meg. Az osztály változóit megadva pozícionálható a menu a weblapon. A menu objektum egyes pontjainak megadható a háttérszíne, a felirata, és egyéb adatai.
A kliens-oldali script-ben a menu.gomenu metódus meghívása után kerül a megfelelő pozícióba a menü a weblapon.
menu.gomenu();
A menu.menuitem metódust annyiszor kell meghívnunk, ahány menüpontot szeretnénk a sorba felvenni. A metódus meghívásakor első paraméterben megadjuk a feliratot, majd a másodikban azt az URL-t, amelyre a menüpontra történő kattintáskor navigálhatunk.
menu.menuitem("Menu1","http://www.softwareonline.hu");
menu.menuitem("Menu2","http://www.softwareonline.hu");
...
A művelet végén meg kell hívni a menü menuclose metódusát.
menu.menuclose();
A menü megjelenít két nyomógombot, melyekkel a forgás előidézhető előre, vagy hátra. A gombokhoz kapcsolódó eseménykezelőket a menu osztály önmagában implementálja.