HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

WebForm-ok közötti adatátvitel


Példaprogram letöltése

11901 bájt

Adott egy WebForm, melyen keresztül adatokat kérünk be a felhasználótól. Adott egy másik WebForm, melyben szeretnénk feldolgozni ezeket az adatokat és az eredményt megjeleníteni. A kérdés most már csak az, hogy miként jutassuk el az adatokat az első lapról a másodikra?

Megoldásként a Server objektum Transfer függvénye segít bennünket. Ennek használata előtt azonban szükség van jó néhány előkészítő lépésre. Először is szükségünk van adatokra, melyeket át szeretnénk adni.
Ehhez két TextBox-ot helyezünk a web lapra. Valamint készítünk két publikus property-t is, melyeken keresztül elérhetővé válik kívülről is a TextBox-okba írt adat.
    public string Text1
    {
      get
      {
        return TextBox1.Text;
      }
    }
További előkészítő lépésként váltsunk át HTML nézetre a WebForm1-nél és az első sorában adjuk meg az osztályunk nevét a ClassName paraméterben.
<%@ Page language="c#" ClassName="WebForm1" ... %>
Ezek után már használhatjuk a Transfer függvényt, mondjuk egy gomb lenyomásánál.
    private void Button2_Click(object sender, System.EventArgs e)
    {
      Server.Transfer("WebForm2.aspx");
    }
Ennek hatására a vezérlés a WebForm2.aspx-re adódik át, ahol lehetőségünk lesz elérni a WebForm1-en megadott adatokat a feladatunknak megfelelően. Mielőtt a lekérdezésnek nekiállnánk, szükségünk van a WebForm2-nél is némi előkészületre. Váltsunk itt is HTML nézetre és adjunk meg egy Reference direktívát, melynél a Page paraméter-ben hivatkozunk a WebForm1.aspx-re. Ezzel azt érjük el, hogy a WebForm1 adatai hozzáférhetővé válnak a WebForm2-ben is.
<%@ Reference Page="WebForm1.aspx" %>
Most már hozzáférhetünk a WebForm1-hez. Tesszük mindezt úgy, hogy létrehozunk egy WebForm1 típusú változót, melynek értékül adjuk a Context Handler property-jében tárolt objektumot, mely nem más lesz mint a Transfer által átadott objektum.
        WebForm1 wf = (WebForm1)Context.Handler;
Mivel a WebForm1-ben létrehoztunk egy-két property-t, melyen keresztül elérhető a TextBox-ok tartalma, így már semmi nem állhat az utunkba, hogy kiolvassuk ezek értékét és tetszés szerint felhasználjuk.
        Label1.Text = wf.Text1 + wf.Text2;        

Könyv
Ez a cikk megtalálható ebben a könyvben: C# Software Offline 2002 évkönyv 323. 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 |