Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
1
Tworzenie ASP.NET Web Form
2
Przegląd Tworzenie stron typu Web Forms
Wykorzystanie kontrolek serwerowych
3
Tworzenie stron typu Web Forms
Co to jest Web Form? Tworzenie Web Form przy pomocy Visual Studio .NET
4
Co to jest Web Form? Plik z rozszerzeniem .aspx Atrybut Page Body Form
Page Language="vb" Codebehind="WebForm1.aspx.vb" SmartNavigation="true"%> <html> <body ms_positioning="GridLayout"> <form id="Form1" method="post" runat="server"> </form> </body> </html>
5
Tworzenie Web Form przy pomocy Visual Studio .NET
Nowa aplikacja ASP.NET Web domyślnie tworzy stronę: WebForm1.aspx Solution Explorer – narzędzie do tworzenia dodatkowych stron Web Forms Upgrade istniejących stron HTML do postaci Web Forms
6
Wykorzystanie kontrolek typu Server Controls
Co to jest kontrolka typu Server Control? Typy kontrolek serwerowych Zapamiętywanie stanu (View State) Demonstracja: Konwersja kontrolek HTML do postaci Server Controls HTML Server Controls Web Server Controls Identyfikacja HTML generowanego przez Web Server Controls Demonstracja: Dodawanie Server Controls do strony Web Form
7
Co to jest kontrolka typu Server Control?
<asp:Button id="Button1" runat="server" Text="Submit"/> Runat="server" Zdarzenie generowane jest na serwerze Zapamiętywany jest stan kontrolek Posiadają wbudowaną funkcjonalność Wspólny model obiektowy Atrybuty Id i Text Tworzą kod HTML zależny od przeglądarki
8
Typy Server Controls Kontrolki serwerowe HTML Kontrolki serwerowe Web
Intrinsic controls Validation controls Rich controls List-bound controls Internet Explorer Web controls
9
Zapamiętywanie stanu kontrolki (View State)
ukryty element formularza Może dotyczyć całej strony Web Form lub wybranego elementu <input type="hidden" name="__VIEWSTATE" value="dDwtMTA4MzE0MjEwNTs7Pg==" /> Page EnableViewState="False" %> <asp:ListBox id="ListName" EnableViewState="true" runat="server"> </asp:ListBox>
10
Demonstracja: Konwersja kontrolek HTML do postaci Server Controls
Dodawanie kontrolek typu Web server Korzystanie z mechanizmu SmartNavigation
12
HTML Server Controls Oparte o elementy HTML
Zdefiniowane w przestrzeni nazw System.Web.UI.HtmlControls <input type="text" id="txtName" runat="server" />
13
Web Server Controls Zdefiniowane w przestrzeni nazw System.Web.UI.WebControls Kontrola syntaktyki Generują kod HTML <asp:TextBox id="TextBox1" runat="server">Text_to_Display </asp:TextBox> <input name="TextBox1" type="text" value="Text_to_Display" Id="TextBox1"/>
14
Wybór właściwego typu kontrolek
Używaj HTML Server Controls jeżeli: Używaj Web Server Controls jeżeli: Preferujesz model obiektów języka HTML Preferujesz programowanie w języku HTML Visual Basic lub C# Chcesz szybko dodać funkcjonalność ASP.NET do istniejących stron HTML YTworzona strona może być wykorzystywana przez wiele typów przeglądarek Kontrolka współdziała ze skryptami serwerowymi i klienckimi Potrzebuje specyficznej funkcjonalności takiej jak kalendarz czy rotator Pojemność kanału transmisji jest ograniczona Pojemność kanału transmisji nie jest problemem
15
Moduł 5: Tworzenie kodu Microsoft ASP.NET Web Form
16
Przegląd Wykorzystanie mechanizmu Code-Behind Pages
Dodawanie procedur obsługujących zdarzenia generowane przez Web Server Controls Wykorzystanie zdarzeń strony (Page Events)
17
Wykorzystanie mechanizmu Code-Behind Pages
Jak wprowadzać kod źródłowy programu? Tworzenie kodu Inline Czym jest mechanizm Code-Behind Pages? Jak działa mechanizm Code-Behind Pages?
18
Jak wprowadzać kod źródłowy programu?
Trzy metody dodawania kodu źródłowego: file as content (mixed) inline code – umieszczanie kodu w osobnej sekcji w pliku code-behind pages – umieszczanie kodu w osobnym pliku Mechanizm Code-behind jest stosowany domyślnie przez Visual Studio .NET
19
Tworzenie kodu Inline Kod źródłowy programu i treści w tym samym pliku
Osobna sekcja dla kodu i osobna dla HTML <HTML> <asp:Button id="btn" runat="server"/> </HTML> <SCRIPT Language="vb" runat="server"> Sub btn_Click(s As Object, e As EventArgs) Handles btn.Click ... End Sub </SCRIPT> <HTML> <asp:Button id="btn" runat="server"/> </HTML> <SCRIPT Language="c#" runat="server"> private void btn_Click(object sender, System.EventArgs e) { . . . } </SCRIPT>
20
Czym jest mechanizm Code-Behind Pages?
Odseparowanie kodu programu od treści strony Programiści i projektanci interfejsu użytkownika mogą pracować niezależnie od siebie Jeden plik Osobne pliki kod <tags> kod <tags> Form1.aspx.vb lub Form1.aspx.cs Form1.aspx Form1.aspx
21
Jak działa mechanizm Code-Behind Pages?
Tworzone są osobne pliki z definicją interfejsu użytkownika i osobny dla logiki jego działania Page łączy te pliki w logiczną całość Korzystamy z kompilacji wstępnej bądź JIT Page1.aspx Page Language="c#" Inherits="Project.WebForm1" Codebehind="Page1.aspx.cs" Src = "Page1.aspx.cs" %> Page1.aspx.cs public class WebForm1 { private void cmd1_Click() { … }
22
Tworzenie procedury obsługi zdarzenia dla kontrolki typu Web Server Controls
Co to jest procedura obsługi zdarzenia? Wykorzystanie zdarzeń Procedura obsługi zdarzenia po stronie klienta Procedura obsługi zdarzenia po stronie serwera Multimedia: Zdarzenia typu Client-Side i Server-Side Tworzenie procedur obsługi zdarzenia Interakcja pomiędzy kontrolkami
23
Co to jest procedura obsługi zdarzenia?
Działanie wykonywane w odpowiedzi na interakcję użytkownika z kontrolkami na stronie
24
Procedury obsługi zdarzeń typu Client-Side
Używane zwykle jedynie z kontrolkami HTML Interpretowane przez przeglądarkę po stronie klienta Brak dostępu do zasobów serwera Korzystają z <SCRIPT language="language"> .HTM Pages Internet
25
Procedury obsługi zdarzeń typu Server-Side
Wykorzystywane przez kontrolki serwerowe HTML i serwerowe Dostęp do zasobów serwera Korzystają z <SCRIPT language="vb" runat="server"> lub <SCRIPT language=“cs" runat="server"> .ASPX Pages Internet
26
Tworzenie procedur obsługi zdarzenia
Visual Studio .NET deklaruje zmienne i tworzy szablony procedur Private Sub cmd1_Click(ByVal s As System.Object, _ ByVal e As System.EventArgs) Handles cmd1.Click private void cmd1_Click(object s, System.EventArgs e)
27
Tworzenie procedur obsługi zdarzenia
Stworzenie Web Form przy pomocy Visual Studio .NET Dodanie kontrolek do Web Form Dodanie procedury obsługi zdarzenia (double-click) Uruchomienie formularza (Build and Browse)
28
Interakcja pomiędzy kontrolkami
Odczyt właściwości kontrolki serwerowej Modyfikacja innych kontrolek typu Web server controls strGreeting = "Hello " & txtName.Text strGreeting = "Hello " + txtName.Text; lblGreeting.Text = "new text" lblGreeting.Text = "new text";
29
Korzystanie ze zdarzeń
Kolejność zdarzeń Multimedia: Proces PostBack Obsługa zdarzeń Obsługa zdarzenia Page.IsPostback Połączenie ze sobą dwóch kontrolek
30
Kolejność zdarzeń Page_Init Page_Load Textbox1_Changed Button1_Click
Control events Change Events Textbox1_Changed Action Events Button1_Click Page_Unload Page is disposed
31
Multimedia: Proces Postback
32
Obsługa zdarzeń
33
Obsługa zdarzenia Page.IsPostback
Page_Load jest uruchamiane przez każde żądanie strony Pozwala wykonać logikę pod pewnym warunkiem Tylko pierwsze odwołanie do strony private void Page_Load(object sender, System.EventArgs e) { if (!Page.IsPostBack) { // executes only on initial page load } //this code executes on every request Private Sub Page_Load(ByVal s As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load If Not Page.IsPostBack Then 'executes only on initial page load End If 'this code executes on every request End Sub
34
Demonstracja dodawania obsługi zdarzeń
35
Połączenie ze sobą dwóch kontrolek
Połączenie ze sobą dwóch kontrolek pozwala na przekazanie wybranej wartości z listy Data binding <asp:DropDownList id="lstOccupation" autoPostBack="True" runat="server" /> You selected: <asp:Label id="lblSelectedValue" Text="<%# lstOccupation.SelectedItem.Text %>" runat="server" /> private void Page_Load(object sender, System.EventArgs e) { lblSelectedValue.DataBind(); } Sub Page_Load(s As Object, e As EventArgs) Handles MyBase.Load lblSelectedValue.DataBind() End Sub
36
Demonstracja: Połączenie ze sobą dwóch kontrolek
Połączenie kontrolki Label z ListBox
37
Demonstracja: Połączenie ze sobą dwóch kontrolek
38
Na dzisiaj koniec Dziękuję za uwagę.
Z tydzień ciąg dalszy walki z ASP.NET
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.