1 / 38

Tworzenie ASP.NET Web Form

Tworzenie ASP.NET Web Form. Przegląd. Tworzenie stron typu Web Forms Wykorzystanie kontrolek serwerowych. Tworzenie stron typu Web Form s. Co to jest Web Form? Tworzenie Web Form przy pomocy Visual Studio .NET. Co to jest Web Form?. Plik z rozszerzeniem .aspx Atrybut Page Body

eagan-pitts
Download Presentation

Tworzenie ASP.NET Web Form

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 pomocyVisual 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 typuServer 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 typuServer 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 • AtrybutyIdiText • 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) • ukrytyelement formularza • Może dotyczyć całej strony Web Form lub wybranego elementu <%@ Page EnableViewState="False" %> <asp:ListBox id="ListName" EnableViewState="true" runat="server"> </asp:ListBox> <input type="hidden" name="__VIEWSTATE" value="dDwtMTA4MzE0MjEwNTs7Pg==" />

  10. Demonstracja: Konwersja kontrolek HTML do postaci Server Controls • Dodawaniekontrolek typu Web server • Korzystanie z mechanizmu SmartNavigation

  11. HTML Server Controls • Oparte o elementy HTML • Zdefiniowane w przestrzeni nazw System.Web.UI.HtmlControls <input type="text" id="txtName"runat="server" />

  12. Web Server Controls • Zdefiniowane w przestrzeni nazwSystem.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"/>

  13. 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

  14. Moduł5:Tworzenie kodu Microsoft ASP.NET Web Form

  15. Przegląd • Wykorzystanie mechanizmu Code-Behind Pages • Dodawanie procedur obsługujących zdarzenia generowane przez Web Server Controls • Wykorzystanie zdarzeń strony (Page Events)

  16. 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?

  17. 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

  18. 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>

  19. 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

  20. Jak działa mechanizm Code-Behind Pages? • Tworzone są osobne pliki z definicją interfejsu użytkownika i osobny dla logiki jego działania • Dyrektywa @ Page łączy te pliki w logiczną całość • Korzystamy z kompilacji wstępnej bądź JIT Page1.aspx.cs public class WebForm1 { private void cmd1_Click() { … } } Page1.aspx <% @ Page Language="c#"Inherits="Project.WebForm1" Codebehind="Page1.aspx.cs" Src = "Page1.aspx.cs" %>

  21. Tworzenie procedury obsługi zdarzenia dlakontrolki 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

  22. Co to jest procedura obsługi zdarzenia? • Działanie wykonywane w odpowiedzi na interakcję użytkownika z kontrolkami na stronie

  23. 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

  24. 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

  25. 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)

  26. 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)

  27. 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";

  28. Korzystanie ze zdarzeń • Kolejność zdarzeń • Multimedia: Proces PostBack • Obsługa zdarzeń • Obsługa zdarzenia Page.IsPostback • Połączenie ze sobą dwóch kontrolek

  29. Kolejność zdarzeń Page is disposed Page_Init Page_Load Control events Textbox1_Changed Change Events Button1_Click Action Events Page_Unload

  30. Multimedia: Proces Postback

  31. Obsługa zdarzeń

  32. 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

  33. Demonstracja dodawania obsługi zdarzeń

  34. Połączenie ze sobą dwóch kontrolek • Połączenie ze sobą dwóch kontrolekpozwala 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

  35. Demonstracja: Połączenie ze sobą dwóch kontrolek • Połączenie kontrolki Label z ListBox

  36. Demonstracja: Połączenie ze sobą dwóch kontrolek

  37. Na dzisiaj koniec • Dziękuję za uwagę. • Z tydzień ciąg dalszy walki z ASP.NET

More Related