HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

A RegisterArrayDeclaration metódus bemutatása


Példaprogram letöltése

10452 bájt

A cikkben bemutatjuk a Page osztály RegisterArrayDeclaration nevű metódusát. A rejtélyes név még rejtélyesebb funkcionalitást takar, azonban a cikk végére kiderül, mire is használható tulajdonképpen, milyen módon segíti a fejlesztők munkáját, és ezt milyen paraméterek megadásával teszi lehetővé. A paramétereket karakterláncok formájában, egyszerűen megadhatjuk, ami a munkát valóban leegyszerűsíti.

Mellékelt példa megnyitása előtt szükséges egy ScriptArray nevű virtuális könyvtár létrehozása, mely a példa könyvtárára mutat. Ehhez nyissa meg a mellékelt mappa Tulajdonság ablakát és itt a Webmegosztás lapon engedélyezze a mappa megosztását olvasási és parancsfájlok futtatási jogával.
A RegisterArrayDeclaration metódus jól illeszkedik a Page osztály ’Register’ szócskával kezdődő metódusainak listájába, mivel itt is arról van szó, hogy az oldal töltődésekor valamilyen Javascript kód jön létre a HTML adatfolyamban, melynek meghatározott funkciója van.
A RegisterArrayDeclaration metódus egy névvel rendelkező absztrakt tárolót, egy Javascript tömböt illeszt a kódba, mely lehetővé teszi, hogy script-alapú kontrolokat benne eltároljunk, és ezekre egy közös névvel hivatkozzunk, őket azonos típussal kezeljük. Ennek megfelelően eltérő típusú objektumok is tárolhatók a tömbben. Vizsgáljuk meg, milyen paraméterei vannak a metódusnak:
RegisterArrayDeclaration
Osztály: Page
public void RegisterArrayDeclaration(
string arrayName,
string arrayValue
);
Beilleszt egy Javascript kódot az adatfolyamba, a HTML oldal forrását megtekintve látható a deklaráció, mint példánkban a következő kódrészlet:
<script language="javascript">
<!--
  var myArray =  new Array(window.createPopup(),window.createPopup(),window.createPopup());
// -->
</script>
Paraméterek
string arrayName
Megadható a tömb neve, mellyel majd hivatkozhatunk elemeire.
string arrayValue
Egy karakterláncban felsorolhatjuk, milyen értékeket tegyen a metódus a tömb létrehozásakor annak „rekeszeibe”.
A fenti kódrészletben látható, hogy a window objektum createPopup függvénye hozza létre a felbukkanó ablak objektumokat.
A mellékelt példában három Popup ablak objektumot tárolunk ebben az előre generált tömbben, melynek a myArray nevet adtuk. Az oldal töltődésekor gondoskodunk arról, hogy a gombok kezelőmetódusa létrejöjjön egy script-ben, valamint hogy a tömb létrehozása is megtörténjen:
private void Page_Load(object sender, System.EventArgs e)
{
  InitScript();
RegisterArrayDeclaration("myArray","window.createPopup(),window.createPopup(),window.createPopup()"); 
}
A gombok lenyomásakor lefutó Javascript függvény kiveszi a hivatkozott tömbelemet a tömbből, felruházza tulajdonságokkal – megadja az ablakok háttérszínét, keretvastagságát, valamint a megjelenített szöveget -, majd megjeleníti a megfelelő pozícióban.
A függvény létrehozása az InitScript metódusban:
private void InitScript()
{
  if (Page != null)
  {
Létrehozunk egy StringBuilder objektumot, melybe sorban betesszük a kiírandó karakterláncsorokat:
  StringBuilder sb = new StringBuilder();
  sb.Append("<script language=\"jscript\">\n");
  sb.Append("function ShowPopup(index)\n");
  sb.Append("{\n");
  sb.Append("  var oPopup = myArray[index];  \n");
  sb.Append("  var oPopupBody = oPopup.document.body; \n");
  sb.Append("  oPopupBody.style.backgroundColor = 'lightyellow'; \n");
  sb.Append("  oPopupBody.style.border = 'solid black 1px'; \n");
  sb.Append("  var windownumber = index+1; \n");
  sb.Append("  oPopupBody.innerHTML = 'Ablak ' + windownumber; \n");
  sb.Append("  myArray[index].show((index*150), (index*100), 200, 50, document.body); \n");
  sb.Append("}\n");
  sb.Append("</script>");
Majd a Page osztály metódusával elhelyezzük a Javascript kódrészletet a HTML oldalon úgy, hogy csak egyszer jöjjön létre:
  Page.RegisterClientScriptBlock("Show", sb.ToString());  
  }
}
A gombok lenyomásával a ShowPopup nevű Javascript függvény fut le kliens-oldalon, paraméterként kapva a megjelenítendő ablak indexét a myArray tömbben.

Cikksorozat

#IDKategóriaCikk címeSorozat
4483WindowsSzoftverfrissítő szolgáltatások1. rész
4536WindowsA SUS szerver telepítése2. rész


Könyv
Ez a cikk megtalálható ebben a könyvben: C# Software Offline 2002 évkönyv 742. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |