
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.