C# - Adatbeviteli lehetőségek

ASP.NET 2. rész

forráskód letöltése
Cikksorozatunk második részében az adatbeviteli lehetőségeket vesszük sorra, így megismerkedünk a következő vezérlők használatával: TextBox, DropDownList, ListBox, CheckBox, CheckBoxList, RadioButtonList. Az adatok bekérése után azt is megnézzük, hogy miként tudjuk egy másik web oldalra átirányítani a felhasználót, ahol visszaigazolhatjuk a beírt adatokat.
A mellékelt példa kipróbálásához szükség lesz egy működőképes web kiszolgálóra, melyen hozzon létre egy virtuális könyvtárat SoWebApplication02 névvel és ide másolja be a mellékelt állományokat.
A WebForm1.aspx oldalon hozzuk létre a beviteli web lapot. Itt elhelyezünk minden fent említett komponensből egyet-egyet. A WebForm1.aspx.cs forráskódban találunk egy Page_Load függvényt. Ez nem más mint egy olyan esemény, mely akkor fog futni, amikor a web oldal betöltésre kerül. Ez a pillanat kiváló alkalom arra a Form-on lévő olyan vezérlőknek, melyek listákból adnak lehetőséget választásra a felhasználónak, feltöltsük kezdeti értékekkel.
   private void Page_Load(object sender, System.EventArgs e)
   {
      DropDownList1.Items.Add("-"); 
      DropDownList1.Items.Add("Pentium I"); 
      ...
      ListBox1.Items.Add("0-127 MB");
      ...
      ListBox1.SelectedIndex = 0;
      CheckBoxList1.Items.Add("A:");
      CheckBoxList1.Items.Add("B:");
      RadioButtonList1.Items.Add("1997");
      ...
      RadioButtonList1.SelectedIndex = 4;
   }
Felteszünk még egy nyomógombot is a web oldalra, melynél létrehozzuk a Click eseményt. Ennek az lesz a funkciója, hogy egy másik web lapra navigálja a felhasználót, méghozzá a WebForm2.aspx-re.
    private void Button1_Click(object sender, System.EventArgs e)
    {      
Ehhez a művelethez a Response objektumunk Redirect függvényét kell meghívnunk, melynek egy tetszőleges URL-t megadhatunk. Így létrehozunk egy olyat, melyben hivatkozunk WebForm2.aspx-re és paraméterként átadjuk az összes beviteli mezőnk aktuális értékét, hogy ezeket majd feldolgozhassa a másik oldal.
      Response.Redirect(
        "WebForm2.aspx?"+
        "email=" + TextBox1.Text +
        "&proc=" + DropDownList1.SelectedItem.Text +
        "&ram=" + ListBox1.SelectedItem.Text +
        "&dvd=" + CheckBox1.Checked.ToString() +
        "&floppya=" + CheckBoxList1.Items[0].Selected.ToString() +
        "&floppyb=" + CheckBoxList1.Items[1].Selected.ToString() +
        "&year=" + RadioButtonList1.SelectedItem.Text
      );  
    }
Nézzük most a WebForm2.aspx-et. Ezen a web lapon néhány Label objektumot helyezünk el és egy HyperLink-et az e-mail cím megjelenítéséhez. A URL-ben átadott adatokat a Request objektum QueryString property-jén keresztül érhetjük el, mely egy sztringeket tartalmazó tömböt képvisel.
   private void Page_Load(object sender, System.EventArgs e)
   {
      HyperLink1.Text = Request.QueryString["email"];
A HyperLink helyes működéséhez nem elegendő csak a feliratát megadni, hanem a NavigateUrl property-jében azt is meg kell mondanunk a számára, hogy ha rákattint a felhasználó, akkor milyen címre ugorjon. Mivel most egy e-mail címről van szó, így a mailto: előtagra is szükség lesz.
      HyperLink1.NavigateUrl= "mailto:" + HyperLink1.Text;
      Label2.Text = Request.QueryString["proc"];
      Label3.Text = Request.QueryString["ram"];
      Label4.Text = Request.QueryString["dvd"];
      Label5.Text = "A: " + Request.QueryString["floppya"] + " B: " + Request.QueryString["floppyb"];
      Label6.Text = Request.QueryString["year"];
    }

ASP.NET cikksorozat