Kurs WWW ASP.NET. Paweł Rajba. pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/



Podobne dokumenty
Ćwiczenie 8. Kontrolki serwerowe

Infrastruktura aplikacji WWW

Dostępne grupy kontrolek. Podstawowe kontrolki Web

Dodaj do kontrolki MultiView dwie kontrolki View, nazywając je po kolei: ankietaglowna i podsumowanie.

Aplikacje internetowe i rozproszone - laboratorium

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

Aplikacje internetowe laboratorium

Aplikacje internetowe - laboratorium ASP.NET praca z bazą danych

Aplikacje WWW - laboratorium

5. Tworzenie prostego kalkulatora

Zadanie 1. Tworzenie nowej "strony sieci WEB". Będziemy korzystad ze stron w technologii ASP.NET.

Aplikacje internetowe

ASP.NET MVC. Podstawy. Zaawansowane programowanie internetowe Instrukcja nr 3

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania

Plan wykładu. Tworzenie programów dla platformy.net. Kontrolki list. Kontrolki weryfikujące. Wiązanie danych. Dostęp do danych

Bazy Danych i Usługi Sieciowe

Zaawansowane aplikacje internetowe - laboratorium

Instrukcja laboratoryjna cz.3

Aplikacje WWW. Laboratorium z przedmiotu Aplikacje WWW - zestaw 01

4. Proste przekazywanie stanu

Zajęcia 4 - Wprowadzenie do Javascript

Integracja frameworku Wicket z serwisem Platnosci.pl.

Microsoft.NET: LINQ to SQL, ASP.NET AJAX

Podstawy JavaScript ćwiczenia

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

Przewodnik użytkownika (instrukcja) AutoMagicTest

Tworzenie Stron Internetowych. odcinek 9

Laboratorium 1 Wprowadzenie do PHP

FORMULARZE. G. Przęczek

- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy

Budowa aplikacji ASP.NET współpracującej z bazą dany do przeprowadzania ankiet internetowych

Budowa aplikacji ASP.NET współpracującej z bazą dany do przeprowadzania ankiet internetowych

5-6. Struktura dokumentu html. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów

2. Kliknij Insert->Userform. Jeżeli Toolbox nie pojawi się automatycznie, kliknij View -> Toolbox. Otrzymany widok powinien być jak poniżej.

Zakres treści Czas. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów

Instrukcja obsługi uczelnianego cmsa

Leszek Stasiak Zastosowanie technologii LINQ w

Lokalizacja Oprogramowania

Laboratorium programowania urządzeń mobilnych

Nowy szablon stron pracowników ZUT

MasterPage w ASP.NET

Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery. Łukasz Bartczuk

Programowanie komponentowe. Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

ITA-103 Aplikacje Internetowe. Piotr Bubacz. Moduł 5. Wersja 1. Kontrolki serwerowe

SOGA web co powinieneś wiedzieć

FORMULARZE Formularz ma formę ankiety, którą można wypełnić na stronie. Taki formularz może być np. przesłany pocztą elektroniczną .

Instrukcja składania wniosku o dofinansowanie w systemie informatycznym IP na potrzeby konkursu nr 1/1.1.1/2015


1 LINQ. Zaawansowane programowanie internetowe Instrukcja nr 1

Pomoc dla systemu WordPress

Budowa aplikacji ASP.NET współpracującej z bazą danych do obsługi przesyłania wiadomości

wfirma (Moduł Magento) v Strona 1 z 12

Systemy internetowe. Wykład 3 PHP. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science

APEX zaawansowany raport

Wymagania systemowe po stronie serwera

E-faktura PKP Energetyka

System magazynowy małego sklepu.

Modele danych walidacja widoki zorientowane na model

Tomasz Grześ. Systemy zarządzania treścią, cz. II

Dokumentacja systemu NTP rekrut. Autor: Sławomir Miller

Przewodnik użytkownika (instrukcja) AutoMagicTest

CMS - INFORMACJE. *** Mirosław Kuduk E mail: tel. kom DODATKOWE FUNKCJE - PANEL ADMINISTRATORA

Laboratorium 10 - Web Services

SYSTEM ZARZĄDZANIA DANYMI OSOBOWYMI - INSTRUKCJA UŻYTKOWNIKA

Informatyka I : Tworzenie projektu

Języki programowania wysokiego poziomu. Forum

GEO-SYSTEM Sp. z o.o. GEO-RCiWN Rejestr Cen i Wartości Nieruchomości Podręcznik dla administratora systemu Warszawa 2007

Języki programowania wysokiego poziomu. Blog


Wykład 5: PHP: praca z bazą danych MySQL

Kurs programowania. Wykład 7. Wojciech Macyna. 25 kwietnia 2017

Word. Korespondencja seryjna

Format HTML. Wybrane działy Informatyki Stosowanej. Definicja i przeznaczenie Struktura dokumentu Znaczniki Formularze i komponenty

Aplikacje WWW - laboratorium

Formularz rankingowy dla doktorantów - instrukcja obsługi dla Doktoranta

ASP.NET 2.0. Tworzenie witryn internetowych z wykorzystaniem C# i Visual Basica

Comarch isklep24 Ulotka v. 5.1

Wykład 3 Inżynieria oprogramowania. Przykład 1 Bezpieczeństwo(2) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

PGP - Pretty Good Privacy. Użycie certyfikatów niekwalifikowanych w programie PGP

Pierwsza strona internetowa

obecnie tabeli nie stosuje się do budowy struktury witryny (stosuje się za to pozycjonowanie elementów i warstwy) faktycznie wymagają

Dokumentacja Skryptu Mapy ver.1.1

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Budowa aplikacji ASP.NET współpracującej z bazą danych do obsługi przesyłania wiadomości

Języki programowania wysokiego poziomu. Ćwiczenia

Języki skryptowe - PHP. PHP i bazy danych. Paweł Kasprowski. pawel@kasprowski.pl. vl07

Instrukcja tworzenia aplikacji bazodanowej opartej o technologię Oracle i platformę.net

REFERAT O PRACY DYPLOMOWEJ

INSTRUKCJA AKTYWACJI I INSTALACJI CERTYFIKATU ID

Instrukcja aktywacji i instalacji Certum Code Signing

Platforma.NET Wykład 10 Technologia ASP.NET. Spis treści. Plan wykładu spotkania tydzień po tygodniu. Plan wykładu tydzień po tygodniu.

wstawianie przycisków umożliwiających wybieranie wartości poprzez klikanie strzałek

WebAii Automation Framework

Institution data management

Praca w programie dodawanie pisma.

I. Interfejs użytkownika.

Transkrypt:

ASP.NET Paweł Rajba pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/

Wprowadzenie Z czego składa się aplikacja w ASP.NET? ASP.NET Web Forms (.aspx) ASP.NET Web services (.asmx) Klas, stron,,code-behind'' (.vb lub.cs) Klas globalnych aplikacji (.asax) Pliku Web.config Wszystko inne typu strony HTML, arkusze CSS, itp. - 1 -

Wprowadzenie Po kompilacji dochodzą pliki Project Assembly files (.dll) skompilowane pliki typu,,code-behind'' pliki są umieszczane w katalogu /bin serwisu dla aplikacji tworzony jest jeden taki plik o nazwie NazwaProjektu.dll AssemblyInfo.vb lub AssemblyInfo.cs zawierają informacje o skompilowanym kodzie, typu wersja, atrybuty, itp. - 2 -

Wprowadzenie Gdzie to wszystko jest? Kody aplikacji: tam gdzie utworzyliśmy solution i projekty Gotowa aplikacja: C:\Inetpub\wwwroot\Aplikacja\ dostępna pod adresem http://localhost/aplikacja/ - 3 -

Pierwszy przykład Tworzymy aplikację ASP.NET Web Application Dokładamy tabelkę (Table), dodajemy po dwa wiersze i kolumny, formatujemy Dodajemy ListBox, wstawiamy cztery pozycje i formatujemy Dodajemy Button i formatujemy Kompilujemy projekt, odpalamy IE i oglądamy źródło HTML Zmieniamy pagelayout na Flow i jeszcze raz - 4 -

Pierwszy przykład Tworzymy nowy projekt, wybieramy Class Library (dajemy Add to Solution) Przeklejamy kod z pliku p1\classlibrary.cs Wracamy do WebForm, dodajemy referencje do ClassLibrary Do strony HTML dodajemy kod z pliku p1\kodhtml.aspx Kompilujemy i odpalamy IE - 5 -

Pierwszy przykład Przechodzimy do pliku WebForm.aspx.cs, do metody Page_Load i wstawiamy kod Response.Write("<!-- Tu jest początek strony -->"); - 6 -

Co to jest? Jest to kombinacja HTMLa, kodu w C# (albo innym języku) i kontrolek Jest przetwarzany po stronie serwera i generuje kod HTML, który jest wysyłany do klienta WebForms mają rozszerzenie.aspx WebForms może się składać z dwóch plików: aspx właściwy form aspx.cs tzw. plik code-behind, zawiera logikę wpierającą form właściwy (będzie o tym później) - 7 -

Atrybuty strony Składnia <%@ Page atrybuty > Atrybuty na początek Language="cs" "vb" (języków jest oczywiście więcej) Codebehind="cos.aspx.cs" ClientTarget="downlevel" dla starszych przeglądarek do poprzedniego przykładu dodać i zobaczyć różnice w wynikowym HTMLu ErrorPage="adres strony w razie błędu" - 8 -

Atrybuty treści <body> pagelayout layout strony Wartości FlowLayout GridLayout Objawia się jako ms_positioning pozostałe atrybuty, np. bodycolor,... - 9 -

Atrybuty formularza id identyfikator method to co poprzednio runat= server sedno webforma można w takim formularzu osadzać kontrolki przetwarzane po stronie serwera inna wartość niż server sprawi, że formularz będzie traktowany jako zwykły formularz HTML dane z takiego formularza są wysyłane z powrotem do strony, która go utworzyła - 10 -

Kontrolki po stronie serwera są to obiekty osadzane w kodzie strony reprezentują pewną funkcjonalność, po przetworzeniu zostaną zamienione na odpowiedni kod HTML i wysłane do klienta kolejną cechą WebForma jest automatyczne dodawanie kontrolki reprezentującej stan formularza funkcjonalność kontrolek jest oprogramowywana w tzw. codebehind, np. to co się stanie po kliknięciu w przycisk lub listę jest obsługiwane przez mechanizm zdarzeń - 11 -

Rodzaje kontrolek Zwykłe kontrolki HTML Kontrolki po stronie serwera Zwykłe kontrolki HTML z atrybutem runat= server Intrinsic controls są to kontrolki odpowiadające zwykłym kontrolkom HTML, np. button, listbox, Validation controls kontrolki pozwalające weryfikować dane wprowadzone przez użytkownika Rich controls bardziej wypasione kontrolki, generujące czasami nawet baaardzo dużo kodu, np. Calendar - 12 -

Rodzaje kontrolek Kontrolki po stronie serwera List-bound controls kontrolki do prezentacji, sortowania, itd. danych z np. bazy danych Internet Explorer Web controls złożone kontrolki obsługiwane przez IE (i chyba tylko IE) jak np. MultiPage, Toolbar, czy TreeView - 13 -

Stan formularza stan kontrolek (pary nazwa-wartość) są przekazywane przez automatycznie generowane pole ukryte VIEWSTATE ponieważ przy dużych formularzach może to spowolnić działanie, możliwe jest nastepujące rozw. wyłączyć tworzenie stanu dla całego formularza: <%@ Page EnableViewState= false %> natomiast włączyć dla wybranych kontrolek, których stan chcemy przekazywać pomiędzy kolejnymi żądaniami <asp:listbox id= ListName EnableViewState= true runat= server ></asp:listbox> - 14 -

Przykładowe kontrolki Intrinsic controls <asp:button> <asp:checkbox> <asp:hyperlink> <asp:image> <asp:imagebutton> <asp:label> <asp:listbox> <asp:panel> <asp:table> <asp:textbox> <input type= submit > <input type= checkbox > <a href=... ></a> <img src=... > <input type= image > <span></span> <select></select> <div></div> <table</table> <input type= text > - 15 -

Przykładowe kontrolki Validation controls CompareValidator dwa wskazane pola muszą mieć takie same wartości CustomValidator wartość musi spełniać zadany warunek np. musi być parzysta RangeValidator wartość musi być w podanym zakresie RegularExpressionValidator wartość musi się dopasowywać do podanego wyrażenia regularnego RequiredFieldValidator wartość pola wymagana ValidationSummary podsumowanie o błędach wypełnienia formularza - 16 -

Przykładowe kontrolki Rich controls Calendar tworzy ładny kalendarz List-bound controls CheckBoxList tworzy listę checkboxów Repeater tworzy zadany element dla każdego wiersza zbioru danych DataList podobny do repeatera, ale z bardziej rozbudowanym formatowanie (można dane prezentować w postaci tabelki) DataGrid tworzy tabelkę z danymi - 17 -

Używanie kontrolek do weryfikacji,,inputu'' Składnia ogólna <asp:typweryfikatora id= idweryfikatora runat= server ControlToValidate= kontrolkadoweryfikacji ErrorMessage= tekstprzypodsumowaniu Display= static dynamic none Text= tekstwyswietlanyprzezkontrolke EnableClientScript= true false > </asp:typweryfikatora> - 18 -

Używanie kontrolek do weryfikacji,,inputu'' RequiredFieldValidator używamy, jeśli chcemy, żeby użytkownik wypełnił jakieś pola można użyć dodatkowej opcji InitialValue, która sprawi, że niedopuszczalną wartością będzie nie ciąg pusty, ale ta właśnie wartość można też użyć dwóch takich kontrolek jedna blokuje wartość pustą druga blokuje jakąś InitialValue - 19 -

Używanie kontrolek do weryfikacji,,inputu'' CompareValidator pozwala porównać kontrolkę z wartością, lub dwie kontrolki dodatkowe atrybuty ValueToCompare porównanie będzie do tej wartości ControlToCompare porównanie będzie ze wskazaną kontrolką (w przypadku ustawieniu obu wartości, ta będzie ważniejsza) Type określamy jakiego typu powinny być wprowadzone dane (wybranie typu ma znaczenie, jeśli operator jest DataTypeCheck) Operator określamy rodzaj porównania - 20 -

Używanie kontrolek do weryfikacji,,inputu'' RangeValidator pozwala wymusić, żeby wartości były z podanego zakresu dodatkowe atrybuty MinimumValue określa minimalną wartość dla liczb i minimalną długość napisu dla napisów MaximumValue analogicznie do MinimumValue Type określamy typ - 21 -

Używanie kontrolek do weryfikacji,,inputu'' RegularExpressionValidator sprawdza, czy wartość dopasowuje się do zadanego wyrażenia regularnego wyrażenie regularne można konstruować za pomocą litery, cyfry? powtórzenie 0 lub 1 raz * powtórzenie 0 lub więcej razy + powtórzenie 1 lub więc raz [0-20] zakresy {n} powtórzenie dokładnie n razy alternatywa \w litera, \d cyfra, \. kropka - 22 -

Przykład Tworzymy kontrolki Imię TextBox Nazwisko TextBox Data Urodzenia TextBox Województwo DropDownList Login TextBox Hasło TextBox (tutaj TextMode=Password) Powtórz hasło TextBox Tworzymy odpowiednie weryfikatory - 23 -

Kod aplikacji Kod do WebForma można dodawać jako mieszankę HTML i kodu jako kod w znacznikach SCRIPT, ale również w dokumencie HTML osobnym pliku zwanych codebehind page Przykładowy kod w pliku HTML <asp:button id= btn runat= server /> <SCRIPT Language= c# runat= server > private void btn_click(object sender, System.EventaArgs e) {... } - 24 -

Kod aplikacji Po co jest codebehind page? każdy WebForm może mieć taką stronę pozwala oddzielić kod od designu strona taka może być tylko w jednym wybranym języku Powiązanie WebForm z codebehind poprzez Codebehind="WebForm2.aspx.cs" Inherits="PierwszyPrzyklad.WebForm2" pozwala na dostęp do wszystkich klas i obiektów z codebehind page - 25 -

Kod aplikacji... - 26 -