Technologie internetowe Wykład 6 Kontrolki ASP.NET Aplikacja ASP.NET Web Forms Interfejs użytkownika budowany z kontrolek Filozofia obiektowa Sterowanie zdarzeniami Szybkie tworzenie aplikacji (RAD) 1 Kontrolki serwerowe Osadzane w postaci specjalizowanych znaczników Programowane po stronie serwera Adaptacyjny rendering Wykorzystują najnowsze standardy HTML Każda kontrolka serwerowa musi mieć niepowtarzalne ID Strona Web Form ASP.NET <%@ Page Language="C#" %>
2 Osadzanie kodu skryptowego we wnętrzu strony <%@ Page Language="C#" %>
Osadzanie kodu skryptowego w oddzielnym pliku <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Strona.aspx.cs" Inherits="Strona" %>
Strona.aspx
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls; public partial class Strona2 : System.Web.UI.Page { Zalety: protected void btnOblicz_Click(object sender, EventArgs e) " rozdzielenie części programistycznej { double a = Convert.ToDouble(txtBok.Text); od wizualnej lblPole.Text = Convert.ToString(a * a); " ułatwienie pracy w zespole } } 3 Metody obsługi zdarzenia Obiekt generujący zdarzenie (np. btnOblicz) Argumenty zdarzenia Nazwa metody (dowolna) (dodatkowe informacje) void btnOblicz_Click(object sender, EventArgs e) { double a = Convert.ToDouble(txtBok.Text); lblPole.Text = Convert.ToString(a * a); } Kontrolki HTML Znaczniki HTML uzupełnione o atrybuty ID i runat="server Programowane po stronie klienta i serwera Obsługują style CSS Posiadają kolekcję Attributes pozwalającą modyfikować ich atrybuty w skrypcie serwerowym 4 Kontrolka HTML - input <%@ Page Language="C#" %>
Kontrolka HTML - body %@ Page Language="C#" %>
5 Kontrolka Label " Kontrolka Label wyświetla statyczny tekst " Podstawowe właściwości: " Text treść tekstu " Font czcionka tekstu " BackColor kolor tła " ForeColor kolor teksu ForeColor="#0000CC"> Hello Kontrolka TextBox " Kontrolka TextBox wyświetla pole tekstowe " Podstawowe właściwości: " Text treść początkowa lub tekst wpisany przez użytkownika " Font czcionka tekstu " BackColor kolor tła " ForeColor kolor teksu " TexMode jedna linia, wiele linii lub hasło " AutoPostBack automatyczne powiadomienie serwera o zmianie " Zdarzenie: " TextChanged
6 Kontrolka Button " Kontrolka Button wyświetla przycisk inicjujący akcję na serwerze " Podstawowe właściwości: " Text treść tekstu " Font czcionka tekstu " BackColor kolor tła " ForeColor kolor teksu " Zdarzenie: " Click
Przykład <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Kula.aspx.cs" Inherits="_Kula" %>
Kula
Kula.aspx
using System; Kula.aspx.cs public partial class _Kula : System.Web.UI.Page { protected void btnOblicz_Click(object sender, EventArgs e) { double r = Convert.ToDouble(txtPromien.Text); double V = 4.0 / 3.0 * Math.Pow(r, 3); lblObjetosc.Text = V.ToString("F2"); } 7 Kontrolki list ListBox DropDownList Wspólne właściowści: " Items kolekcja elementów listy CheckBoxList " SelectedIndex numer wybranego elementu RadioButtonList " SelectedValue wartość wybranego elementu BulletedList " AutoPostBack automatyczne powiadomienie serwera " BackColor " ForeColor " Font Wspólne zdarzenie: " SelectedIndexChange Kontrolka ListBox Katowice Kolekcja Items Sosnowiec Bytom
Kolekcja Items Właściwości: " Count ilość elementów Metody: " Add(element) dodaj element na końcu listy " Insert(pozycja, element) wstaw element na wybranej pozycji " RemoveAt(pozycja) usuń element z wybranej pozycji " Clear() usuń wszystkie elementy " IndexOf(element) znajdz pozycje elementu lub zwróć -1 12 Przykład <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Dane.aspx.cs" Inherits="Dane" %>
Untitled Page
using System;
public partial class Dane : System.Web.UI.Page
{ protected void btnPierwszy_Click(object sender, EventArgs e) { lstDane.Items.Insert(0, txtDana.Text); } protected void btnOstatni_Click(object sender, EventArgs e) { lstDane.Items.Add(txtDana.Text); } protected void btnUsun_Click(object sender, EventArgs e) { if (lstDane.SelectedIndex!=-1) lstDane.Items.RemoveAt(lstDane.SelectedIndex); } } Kontrolka LinkButton " Kontrolka LinkButton wyświetla przycisk inicjujący akcję na serwerze " Podstawowe właściwości: " Text treść tekstu " Font czcionka tekstu " BackColor kolor tła " ForeColor kolor teksu " Zdarzenie: " Click Oblicz Oblicz 13 Kontrolka ImageButton " Kontrolka ImageButton wyświetla przycisk inicjujący akcję na serwerze " Podstawowe właściwości: " Text treść tekstu " Font czcionka tekstu " BackColor kolor tła " ForeColor kolor teksu " ImageUrl adres pliku grafiki " Zdarzenie: " Click
Przykład using System; public partial class Mapa: System.Web.UI.Page { protected void ibtnLogo_Click(object sender, System.Web.UI.ImageClickEventArgs e) { lblWspolrzedne.Text = "("+e.X + "," + e.Y + ")"; } } 14 Kontrolka Image " Kontrolka Image wyświetla grafikę " Podstawowe właściwości: " ImageUrl adres pliku grafiki " AlternativeText tekst dymka
15 Przykład using System; public partial class Mapa: System.Web.UI.Page { protected void imapLogo_Click(object sender, ImageMapEventArgs e) { lblObszar.Text = e.PostBackValue; } } Kontrolka Literal " Kontrolka Label wyświetla statyczny tekst " Podstawowe właściwości: " Text treść tekstu " Mode włączenie lub wyłączenie enkodowania HTML Piotr <b>Piotr</b> 16 Kontrolka CheckBox " Kontrolka CheckBox wyświetla statyczny tekst " Podstawowe właściwości: " Text treść tekstu " Font czcionka tekstu " BackColor kolor tła " ForeColor kolor teksu " Checked stan " AutoPostBack
Kontrolka RadioButton " Kontrolka CheckBox wyświetla statyczny tekst " Podstawowe właściwości: " Text treść tekstu " Font czcionka tekstu " BackColor kolor tła " ForeColor kolor teksu " Checked stan " GroupName " AutoPostBack Text="Katowice" />
17 Kontrolka Table Imię Nazwisko
Jan Kowalski
Imię
Nazwisko
Jan
Kowalski
Kontrolki MultiView i View " Kontrolka MultiView jest kontenerem dla zakładek View " Podstawowe właściwości: " ActiveViewIndex numer aktualnie wyświetlanej zakładki
Informacje o Katowicach 18 Kontrolka Calendar " Kontrolka Calendar wyświetla stronę kalendarza i pozwala wybrać datę " Podstawowe właściwości: " SelectedDate wybrana przez użytkownika data " SelectionMode tryb wyboru (dzień, tydzień, miesiąc) " SelectedDates kolekcja wybranych dat Kontrolka AdRotator " Kontrolka AdRotator wyświetla baner reklamowy " Podstawowe właściwości: " AdvertisementFile nazwa sterującego pliku XML 19