Realizacja Aplikacji Internetowych 2013 laboratorium K. M. Ocetkiewicz

Wielkość: px
Rozpocząć pokaz od strony:

Download "Realizacja Aplikacji Internetowych 2013 laboratorium K. M. Ocetkiewicz"

Transkrypt

1 Realizacja Aplikacji Internetowych 2013 laboratorium K. M. Ocetkiewicz Instalacja MVC Visual Studio 2012 oraz 2013 (także Web Express) zawiera wbudowane MVC 4 - można doinstalować MVC 4 do Visual Studio 2010 (także do Web Express 2010) (wymagana jest aktualizacja do Service Pack 1) - w przypadku problemów dotyczących NuGet należy doinstalować ten element (Tools Extension Manager Online Gallery NuGet package manager) - w laboratorium korzystamy z Visual Studio 2012 i MVC Nowy projekt - ASP.NET MVC 4 Web Application - [Other Languages] Visual C# Web ASP.NET MVC 4 Web Application - okno dialogowe: - Empty project pusty projekt (UWAGA: do projektu nie będą dołączony kod w JavaScripcie obsługujący walidację po stronie klienta i zdalną) 662BD5F6-0D B3BA33A BD5F6-0D B3BA33A450

2 - Internet Application prosty szablon projektu wykorzystujący login i hasło do uwierzytelniania - Intranet Application prosty szablon projektu wykorzystujący Windows Authentication do uwierzytelniania - Mobile Application prosty szablon dostosowany do urządzeń mobilnych - Web API projekt z kontrolerem obsługującym Web API (coś w rodzaju WCF z WebHttpBinding i bez obsługi WSDL) - View engine silnik wykorzystywany do tworzenia widoków (stron HTML widzianych przez użytkownika; decyduje o tym, czy kod HTML będziemy uzupełniać wstawkami typu < %= wyrażenie %> (ASPX) (Razor) - Use HTML5 semantic markup jeżeli zaznaczone, widoki będą domyslnie zawierały znaczniki semantyczne z HTML5 (np. <header>, <section> itp.) - Create Unit test project jeżeli chcemy utworzyć projekt z testami jednostkowymi - można uruchomić wygenerowany kod działa i zawiera prostą aplikację Zawartość projektu - <projekt> \ Controllers katalog zawierający kontrolery, kliknięcie prawym przyciskiem myszy na Controllers, wybranie Add z menu kontekstowego prowadzi nas m.in. do polecenia dodania nowego kontrolera (Controller ) - <projekt> \ Views katalog zawierający widoki - widoki powiązane z kontrolerem o nazwie Test powinny znajdować się w katalogu <projekt> \ Views \ Test (ponieważ tam będą poszukiwane) - podkatalog Shared przeznaczony jest na widoki lub ich fragmenty dzielone przez wszystkich - _Layout.cshtml jest szablonem widoku wykorzystywanym przez wygenerowaną aplikację (dokładnie jest to <projekt> \ Shared \ _ViewStart.cshtml, który odwołuje się do _Layout.cshtml) - <projekt> \ Models miejsce przeznaczone na nasze modele - <projekt> \ Global.asax \ Global.asax.cs plik zawierający kod startowy naszej aplikacji; - w starszych wersjach MVC tu konfigurowaliśmy m.in. trasy - w MVC4 kod konfiguracji tras został przeniesiony do App_Start \ RouteConfig.cs Architektura MVC - model reprezentuje logikę naszej aplikacji; nie powinien nic wiedzieć ani o kontrolerach, ani o widokach nie powinno go interesować w jaki sposób użytkownik podejmuje działania ani to, co widzi użytkownik - widok to, co widzi użytkownik; choć widoki mogą zawierać kod, to powinien być on ograniczony do minimum (JavaScriptu nie traktujemy tu jako kodu widoku; chodzi o kod wykonywany po stronie serwera) - kontroler jest to element obsługujący polecenia użytkownika; komunikuje się z modelami i decyduje, jakie widoki zaprezentować użytkownikowi 662BD5F6-0D B3BA33A BD5F6-0D B3BA33A450

3 Schemat obsługi zapytania w MVC start aplikacji użytkownik Application_Start (Global.asax.cs) RegisterRoutes zapytanie od użytkownika routing: view/12 kontroler: Users akcja: Zobacz new UsersController() Zobacz(int id) widok: Zobacz HTML wykonanie kodu widoku Zobacz - w momencie uruchamiania aplikacji wołana jest metoda Application_Start z klasy MvcApplication w Global.asax.cs - metoda ta woła m.in. metodę RegisterRoutes, której celem jest skonfigurowanie tras - użytkownik generuje zapytanie i przesyła je do naszej aplikacji - aplikacja zestawia zapytanie ze zdefiniowanymi trasami i na tej podstawie wyznacza kontroler oraz akcję do wywołania wraz z ewentualnymi parametrami akcji UWAGA: każda trasa powinna co najmniej definiować kontroler i akcję którą należy podjąć - tworzony jest nowy obiekt kontrolera; jeżeli trasa stwierdziła, że zapytanie ma obsłużyć kontroler Test, utworzony zostanie obiekt klasy TestController; czas życia kontrolera ograniczony jest do obsługi akcji, zatem nie należy przechowywać w nim żadnych danych UWAGA: jeżeli mówimy o kontrolerze Test, zawsze chodzi nam o klasę TestController, MVC wymaga, by klasy kontrolerów miały nazwę w formacie nazwacontroller - wywoływana jest odpowiednia akcja w kontrolerze; jeżeli trasa stwierdziła, że zapytanie powinna obsłużyć akcja Lista (z kontrolera Test) to zostanie wywołana metoda Lista w klasie TestController - wartość zwrócona z akcji decyduje o tym, co ma zostać zaprezentowane użytkownikowi - w typowych przypadkach, akcja komunikuje się z modelami, przygotowuje pewne dane i prezentuje te dane poprzez odpowiedni widok - wartość zwrócona z akcji jest analizowana przez aplikację, jeżeli ma to być widok, to jest on ładowany i parsowany, po czym jest przesyłany użytkownikowi UWAGA: kod w widoku (wstawki Razor-owe czy ASP) jest wykonywany po stronie serwera 662BD5F6-0D B3BA33A BD5F6-0D B3BA33A450

4 Routing - w trakcie startu aplikacji definiujemy trasy - trasy są dopasowywane do adresu zasobu (pomijając adres naszego serwisu), czyli przy adresie w oknie przeglądarki localhost/users/add dopasowywanym adresem będzie Users/Add - trasa może zostać dopasowana lub nie - jeżeli trasa zostanie dopasowana, to ona decyduje o kontrolerze i akcji - jeżeli trasa nie zostanie dopasowana, sprawdzana jest kolejna trasa - trasy dopasowywane są w kolejności ich tworzenia - produktem routingu jest zestaw par klucz, wartość; w wyniku routingu muszą zostać zdefiniowane co najmniej dwa klucze: controller i action - klucz controller zawiera nazwę kontrolera, który ma podjąć akcję o nazwie zapisanej w action - pozostałe pary klucz, wartość przekazywane są jako parametry do akcji; klucze są dopasowywane do nazw argumentów funkcji o nazwie zapisanej w action; dopasowanie to uwzględnia typy: parametr typu int otrzyma wartość liczbową, DateTime otrzyma datę itp.; niemożność konwersji typu nie powoduje niedopasowania trasy lecz skutkuje wyjątkiem podczas próby przekazania parametrów do akcji (np. /Dodaj/abc/def dopasowane do trasy /Dodaj/{p1/{p2 i prowadzące do akcji Dodaj(int p1, int p2) rzuci wyjątek mówiący o niemożności skonwertowania abc na liczbę) - aby dodać nową trasę należy wywołać metodę MapRoute obiektu RouteCollection w metodzie RouteConfig.MapRoutes; parametrami MapRoute są: - name nazwa trasy; każda trasa powinna mieć inną nazwę - url szablon URL-a to właśnie ten napis będzie dopasowywany do adresu z zapytania, UWAGA: szablon nie powinien rozpoczynać się znakiem / - defaults parametry zbiór parametrów do akcji; każda trasa powinna definiować co najmniej dwa parametry: controller (nazwę kontrolera) oraz action (akcję do wywołania); wszelkie pozostałe parametry zostaną przekazane jako parametry wywołania akcji - opcjonalnie: constraints ograniczenia, o nich później - np. routes.maproute("trasa", "Ludzie/Lista", new { controller = "Users", action = "List"); doda trasę o nazwie trasa ; jeżeli ta trasa zostanie dopasowana (czyli w momencie zapytania o Ludzie/Lista, wywołana zostanie metoda List z klasy UsersController). - szablon URL-a może zawierać parametry parametr jest ciągiem znaków zawartym między nawiasami klamrowymi; parametr oznacza, że dany fragment z adresu zostanie zapamiętany jako parametr o podanej nazwie, np.: routes.maproute("modifieddefault", "{controller/{action", new { ); doda trasę o nazwie ModifiedDefault, która zostanie dopasowana do każdej trasy postaci napis1/napis2, przy czym napis1 będzie nazwą kontrolera, zaś napis2 nazwą akcji, czyli zapytanie o adres: Ludzie/Lista wywoła metodę Lista w klasie LudzieController Home/Index wywoła metodę Index w klasie HomeController nie podajemy tu jawnie nazwy kontrolera ani akcji, bo zostaną one wzięte z adresu jako parametry - możemy także podać wartości domyślne dla parametrów routes.maproute("default", "{controller/{action/{id", 662BD5F6-0D B3BA33A BD5F6-0D B3BA33A450

5 new { controller = "Home", action = "Index", id = UrlParameter.Optional ); dodaje trasę o nazwie Default z domyślnymi wartościami dla wszystkich parametrów (możemy także podać wartości domyślne tylko dla niektórych); taka trasa zostanie dopasowana np. do adresów: pusty adres (np. wywołanie zostanie metoda Index (bez parametrów UrlParameter.Optional oznacza, że wartością domyślną jest brak parametru) z klasy HomeController Users wywołanie zostanie metoda Index (wartość domyślna dla action) bez parametrów (wartość domyślna dla id) klasy UsersController Home/List wywołanie zostanie metoda List (bez parametrów wartość domyślna dla Home/Edit/123 id) klasy HomeController wywołanie zostanie metoda Edit z parametrem id=123 z klasy HomeController - należy pamiętać, że trasy dopasowywane są w kolejności dodania, uwzględniając wartości domyślne, więc dla konfiguracji: routes.maproute("default", "{controller/{action/{id", new { controller = "Home", action = "Index", id = 555 ); routes.maproute("trasa", "Ludzie/Lista", new { controller = "Users", action = "List"); zapytanie o Ludzie/Lista wywoła metodę Lista z parametrem id=555 z klasy LudzieController zostanie dopasowana pierwsza trasa, natomiast w przypadku konfiguracji: routes.maproute("trasa", "Ludzie/Lista", new { controller = "Users", action = "List"); routes.maproute("default", "{controller/{action/{id", new { controller = "Home", action = "Index", id = 555 ); zapytanie o Ludzie/Lista wywoła metodę List (bez parametrów) z klasy UsersController - w przypadku użycia wartości domyślnych należy pamiętać, że wszystkie opuszczone parametry powinny być z prawej strony adresu (czyli dla trasy Default możemy pominąć id lub id i action ale nie możemy pominąć samego parametru action, - w przypadku użycia wartości domyślnych najlepiej rozdzielać parametry znakiem /, w przypadku innych znaków (np. przecinka) MVC niestety sobie nie radzi Kontroler - nazwa klasy kontrolera musi kończyć się na Controller (np. KoszykController), - klasa musi dziedziczyć po klasie Controller - dodanie kontrolera: prawym przyciskiem myszy na Controllers w Solution Explorer Add Controller BD5F6-0D B3BA33A BD5F6-0D B3BA33A450

6 Akcja - akcją jest każda publiczna metoda; należy uważać na konfigurację routingu i publiczne metody w kontrolerze, aby nie udostępnić więcej niż chcemy, - akcja nie powinna być statyczna ani przeciążona (poza pewnymi wyjątkami, ale o nich później), - akcjami nie są metody odziedziczone po klasach bazowych, - akcje nie mogą posiadać parametrów wyjściowych i referencyjnych (słowa kluczowe out i ref), - parametry akcji (jako metody) są pobierane z parametrów wynikających z trasy (zob. routing) oraz parametrów zapytania (parametry metody GET protokołu HTTP), - parametry zostaną w miarę możliwości dopasowane do typów parametrów akcji (np. napis będzie przetłumaczony na liczbę czy datę), niemożność dopasowania typu parametru (np. abc w miejsce int-a) skutkuje wyjątkiem, - nadmiarowe parametry będą po cichu odrzucane (nie spowodują błędu), - brakujące parametry wywołania spowodują błąd (wyjątek) chyba, że podane są wartości domyślne lub parametr jest typu nullowalnego (np. int?), - jeżeli metoda nie ma być akcją, musimy nadać jej atrybut [NonAction], - od wartości zwracanej przez akcję zależy dalsze działanie aplikacji, - akcja zwraca wynik typu ActionResult, - co można zwracać (między innymi): - View() polecenie wyświetlenia użytkownikowi widoku o takiej samej nazwie jak akcja (czyli Views \ nazwa_kontrolera \ nazwa_akcji); np. return View(); - View(nazwa_widoku) polecenie wyświetlenia użytkownikowi widoku o podanej nazwie; np. return View( ListaOsob ); - RedirectToAction(nazwa_akcji, nazwa_kontrolera, [opcjonalne_parametry]) przekierowanie użytkownika do akcji nazwa_akcji w kontrolerze nazwa_kontrolera; np. return RedirectToAction( Index, Home ); - Redirect(url) przekierowanie pod podany adres; np. return Redirect( ); - Content(tekst, [mime_type]) zwrócenie tekstu tekst jako wynik (opcjonalnie podając także typ mime); zwrócenie nieobsługiwanego typu (np. string) spowoduje jego opakowanie w Content; np. return to jest surowy tekst ; return Content( to jest surowy tekst, text/plain ); - File(nazwa lub zawartość, mime_type) zwrócenie pliku o typie mime mime_type o podanej nazwie (gdy pierwszy parametr ma typ string; plik zostanie przeczytany z dysku) lub o podanej zawartości (gdy pierwszym parametrem jest tablica bajtów); np. return File( c:\\pliki\\dane.pdf, application/pdf ); - Json(obiekt) zwrócenie obiektu w formacie Json np. return Json(new { foo= bar ); 662BD5F6-0D B3BA33A BD5F6-0D B3BA33A450

7 - do komunikacji z widokiem służą obiekty: - ViewData słownik z kluczami będącymi napisami, - ViewBag obiekt dynamiczny o podobnym zastosowaniu, np.: ViewData[ wynik ] = 123; ViewData[ login ] = test ; ViewBag.wynik = 123; ViewBag.login = test ; - przewagą obiektu ViewBag jest zachowanie typów; w powyższym przykładzie ViewBag.wynik bedzie typu int, ViewData[ wynik ] jest typu object i trzeba samodzielnie skonwertować go na int, - atrybut akcji [HttpPost] powoduje, że reaguje ona tylko na zapytania typu POST, - atrybut akcji [HttpGet] powoduje, że reaguje ona tylko na zapytania typu GET, - przykład akcji: public ActionResult Dodaj(int p1, int p2) { ViewData[ wynik ] = p1 + p2; return View(); Widok - widok jest stroną HTML-ową ze wstawkami zawierającymi kod wykonywalny, - dla danej akcji możemy łatwo dodać odpowiadający jej widok klikając prawym przyciskiem myszy na nazwie akcji w jej definicji w oknie edytora i z menu kontekstowego wybierając Add View - dodać widok możemy także klikając w drzewie projektu prawym przyciskiem myszy na Views \ nazwa_kontrolera w Solution Explorer i wybierając Add View z menu kontekstowego - wstawiony kod jest wykonywany po stronie serwera, zanim użytkownik zobaczy widok 662BD5F6-0D B3BA33A BD5F6-0D B3BA33A450

8 - format wstawek zależy od wybranego silnika renderującego (View engine), - w przypadku ASPX wstawki należy otaczać tagami <%... %>, a konkretne wartości tagami <%=... %> np.: <% for(int i = 0; i < 10; i++) { %> wartość i=<%= i.tostring() %> <br> <% %> - w przypadku Razor, wstawki rozpoczynają się od i = 0; i < 10; i++) { <span>wartość <br></span> skomplikowane wyrażenia należy otaczać nawiasami: wynik znaczenie zazwyczaj będzie wywnioskowane (np. w nie zostanie potraktowane jako znak rozpoczynający wyrażenie, o ile nie jest obiektem; jednak jeżeli chcemy mieć pewność, możemy napisać co nie pozostawi wątpliwości co do znaczenia zawartość nieformatowanego tekstu wewnątrz wstawek musi być otoczona tagami HTML-owymi; jeżeli nie wynikają one z konstrukcji strony, możemy posłużyć się tagiem <text>, < b) { <text>a jest mniejsze od b</text> else { <text> a jest niemniejsze od b</text> - w widoku widoczne są obiekty ViewData i ViewBag odczytujemy z nich wartości przesłane z akcji, np.: Wynik=<%= ViewData[ wynik ].ToString() %> Wynik=<%= ViewBag.wynik %> wynik ].ToString() - UWAGA: ASPX nie podmienia domyślnie znaków specjalnych, czyli wynikiem <%= <b><i>text</i></b> %> będzie text Razor domyślnie podmienia znaki specjalne, <b><i>text</i></b> będzie <b><i>text</i></b> - widok zazwyczaj definiuje tylko pewne fragmenty strony (np. główną treść, stopkę) zaś cała otaczająca zawartość (menu, nagłówek, układ strony itp.) zdefiniowany jest we wspólnym dla wszystkich widoków szablonie, Routing ograniczenia parametrów dla tras: - na parametry wynikające z trasy możemy nałożyć ograniczenia - jeżeli po dopasowaniu trasy ograniczenia nie będą spełnione, trasa nie będzie dopasowana i zostanie podjęta próba dopasowania innych tras (np. jeżeli z dopasowania wynika że parametr 662BD5F6-0D B3BA33A BD5F6-0D B3BA33A450

9 p1 ma wartość abcd, a ograniczenie mówi, że p1 może zawierać tylko cyfry, takie dopasowanie zostanie odrzucone) - ograniczenia podajemy jako czwarty parametr do MapRoute w postaci obiektu z polami postaci nazwa_parametru=ograniczenie - ograniczenie może być napisem, wtedy opisuje on wyrażenie regularne i sprawdzana jest zgodność wartości parametru z wyrażeniem - ograniczenie może być również obiektem, który implementuje interfejs IRouteConstraint; wykonywana wtedy jest metoda Match tego obiektu, i jeżeli zwraca ona True, parametr jest dopasowany, jeżeli False nie jest, np.: routes.maproute( dodawanie, Dodaj/{p1,{p2, new { controller = Adder, action = Dodaj, new { p1 \d+, p2 \d+ ); definiuje trasę, której parametry mogą być tylko liczbami (\d to to samo co przed napisem oznacza wyłączenie specjalnego znaczenia znaku \ )... public class Div10Test: IRouteConstraint { public bool Match(HttpContextBase httpcontext, Route route, string parametername, RouteValueDictionary values, RouteDirection routedirection) { int value; if (Int32.TryParse(values[parameterName].ToString(), out value)) { return value % 10 == 0; return false;... routes.maproute( dodawanie, Dodaj/{p1,{p2, new { controller = Adder, action = Dodaj, new { p1 \d+, p2 = new Div10Test() ); definiuje podobną trasę, przy czym tu p2 musi być liczbą całkowitą podzielną przez 10; parametry do Match to: httpcontext obiekt definiujący kontekst route obiekt trasy, której dotyczy ograniczenie parametername nazwa parametru, który jest testowany (np. p1, p2) values słownik wartości parametrów trasy, czyli np. dict[ p1 ] jest wartością parametru p1 (jako object, więc trzeba jeszcze wziąć ToString()) routedirection wartość opisująca, czy wartość parametru pochodzi z adresu zapytania, czy z generowanego adresu 662BD5F6-0D B3BA33A BD5F6-0D B3BA33A450

10 Model - model jest zwykłą klasą - modele należy dodawać w katalogu Models w Solution Explorer Add New item Class - po modyfikacji modelu należy przebudować projekt, aby wszelkie zmiany zostały zauważone przez środowisko (np. aby były wyświetlane aktualne nazwy obiektów w okienkach z podpowiedziami) Sesja - do przechowywania danych służy obiekt Session - jest on słownikiem z kluczami typu string i wartościami typu object, - obecność danego klucza w sesji można sprawdzić, przyrównując wartość dla tego klucza do null, np.: if(session[ login ] == null)... // brak loginu w sesji - metoda Session.Abandon() powoduje usunięcie całej zawartości i rozpoczęcie nowej sesji - pole SessionID przechowuje identyfikator sesji (jako napis) Silnie typowane widoki - silnie typowany widok to widok powiązany z pewnym modelem (klasą), - w takim widoku, oprócz ViewData i ViewBag istnieje także obiekt Model, którego typem jest typ widoku, - typ widoku określony jest w pierwszej linii kodu widoku, w Razorze odpowiada za to typ_widoku, w ASPX jest to odpowiedni tag, - w przypadku nietypowanych widoków Model też istnieje, ale ma typ object, więc przed użyciem trzeba samodzielnie go rzutować na odpowiedni typ, - model przekazujemy do widoku jako parametr, np.: public ActionResult Edit(int id) { Osoba o = PobierzZBazyDanychOsoba(id); return View(o); ; - dodając silnie typowany widok, możemy określić szablon zawartości widoku (Scaffold template: Create, Edit, Delete, Details, List itp.); np. szablon Create wyświetli formularz pozwalający wprowadzić zawartość obiektu do dodania a szablon List wyświetli listę obiektów; w przypadku szablonów innych niż List typem obiektu jest obiekt podanej klasy, w przypadku List jest to IEnumerable na takich obiektach (lista potrzebuje kolekcji obiektów), - UWAGA: aby szablon zawartości poprawnie rozpoznał pola naszego modelu, muszą być one zdefiniowane jako właściwości, 662BD5F6-0D B3BA33A BD5F6-0D B3BA33A450

11 Formularze - jeżeli akcja ma obsługiwać formularz (np. widok typu Create czy Edit), potrzebujemy tak naprawdę dwóch akcji: - pierwsza z nich reaguje na zapytanie typu GET (jest to zapytanie o stronę z formularzem), - druga reaguje na zapytanie typu POST (zapytania wysłane w wyniku wysłania formularza), - obie te akcje powinny mieć taką samą nazwę (to jest ten wspomniany wcześniej wyjątek dopuszczający przeciążanie akcji), - akcja wyświetlająca formularz powinna mieć atrybut [HttpGet], - akcja reagująca na wysłanie formularza powinna mieć atrybut [HttpPost] (gotowy szablon wysyła formularze właśnie POST-em) oraz parametr takiego samego typu jak dodawany obiekt, - MVC przepisze zawartość pól formularza do obiektu i przekaże go jako parametr, [HttpGet] public ActionResult AddOsoba() { return View(); // widok z formularzem [HttpPost] public ActionResult AddOsoba(Models.Osoba o) { if(!jestpoprawne(o)) return View(); // to wyświetli widok z // formularzem... // dodanie o do bazy danych return View( Index, Home ); - możemy zablokować przekazanie wybranego parametru dodając do parametru akcji atrybut Bind z parametrem Exclude: 662BD5F6-0D B3BA33A BD5F6-0D B3BA33A450

12 [HttpPost] public ActionResult AddOsoba([Bind(Exclude= id )]Models.Osoba o) {... spowoduje, że parametr id z formularza zostanie zignorowany (nie zostanie przepisany do obiektu o). - UWAGA: jeżeli formularz zawiera także inne pola, możemy je pobrać ze słownika Request.Form Prosta walidacja - do prostej walidacji służy obiekt ModelState, - walidacja, która wykorzystuje ten obiekt wykonuje odpowiednie testy i w przypadku błędu woła metodę AddModelError z parametrami klucz (string) i wartość (string), - po zakończeniu testów sprawdzamy ModelState.IsValid, które jest prawdziwe, tylko gdy nie dodano żadnych błędów, - w widoku możemy skorzystać z: - Html.ValidationSummary([ komunikat ]) wyświetla listę błędów (wartości z AddModelError), poprzedzając ją opcjonalnym komunikatem, - Html.ValidationMessage( klucz, komunikat ) wyświetla komunikat, jeżeli dodano błąd z kluczem klucz, - Html.ValidationMessageFor(model => model.pole) wyświetla komunikat który dodano z kluczem takim samym jak nazwa podanego w pole pola obiektu - np.: [HttpPost] public ActionResult AddOsoba(Models.Osoba o) { if(o.name.trim().length < 3) ModelState.AddModelError( imie, imię za krótkie ); if(o.wiek < 18) ModelState.AddModelError( wiek, za młody ); if(!modelstate.isvalid) return View(); // dane do poprawki... // dodanie o do bazy danych return View( Success, Users ); - dla takiej akcji: wyświetli np.: - imie za krótkie - za młody wiek, * ) wyświetli * jeżeli wiek był mniejszy niż 18 => model.wiek) wyświetli za młody jeżeli wiek był mniejszy niż 18 - silnie typowane widoki zawierają już odpowiednie wywołania, wyświetlające błędy walidacji (zob. np. silnie typowany widok dla Create) 662BD5F6-0D B3BA33A BD5F6-0D B3BA33A450

Nowy projekt: - ASP.NET MVC 3 Web Application - [Other Languages] Visual C# Web ASP.NET MVC 3 Web Application - okno dialogowe:

Nowy projekt: - ASP.NET MVC 3 Web Application - [Other Languages] Visual C# Web ASP.NET MVC 3 Web Application - okno dialogowe: Instalacja MVC 3: - http://www.asp.net/mvc - Visual Studio 2010 zawiera wbudowane MVC 2 - wymagany jest.net 4.0, a więc co najmniej Windows XP SP3 (jeżeli ma się zainstalowane Visual Studio 2010, może

Bardziej szczegółowo

Realizacja Aplikacji Internetowych 2012 laboratorium K. M. Ocetkiewicz

Realizacja Aplikacji Internetowych 2012 laboratorium K. M. Ocetkiewicz Realizacja Aplikacji Internetowych 2012 laboratorium K. M. Ocetkiewicz Instalacja MVC 4: - http://www.asp.net/mvc - Visual Studio 2012 (także Web Express) zawiera wbudowane MVC 4 - można doinstalować MVC

Bardziej szczegółowo

Microsoft.NET: ASP.NET MVC + Entity Framework (Code First)

Microsoft.NET: ASP.NET MVC + Entity Framework (Code First) Microsoft.NET: ASP.NET MVC + Entity Framework (Code First) Do realizacji projektu potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2012. W ramach projektu budowana jest prosta

Bardziej szczegółowo

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

ASP.NET MVC. Podstawy. Zaawansowane programowanie internetowe Instrukcja nr 3 3 ASP.NET MVC Podstawy 1 1. Cel zajęć Celem zajęć jest zapoznanie się z podstawami ASP.NET MVC 2.0 Framework. 2. Zadanie Proszę zbudować prostą aplikację WWW przy zastosowaniu framework a ASP.NET MVC 2.0

Bardziej szczegółowo

Asynchroniczne interfejsy

Asynchroniczne interfejsy Asynchroniczne interfejsy MVC (Model View Controller) WWW mgr inż. Rafał Grycuk mgr inż. Patryk Najgebauer Strona służbowa: http://iisi.pcz.pl/~rgrycuk/ Kontakt: rafal.grycuk@iisi.pcz.pl Konsultacje: Środa,

Bardziej szczegółowo

Zaawansowane aplikacje internetowe - laboratorium

Zaawansowane aplikacje internetowe - laboratorium Zaawansowane aplikacje internetowe - laboratorium Web Services (część 3). Do wykonania ćwiczeń potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2005. Ponadto wymagany jest

Bardziej szczegółowo

Realizacja Aplikacji Internetowych 2013 laboratorium cz. 2 K.M. Ocetkiewicz

Realizacja Aplikacji Internetowych 2013 laboratorium cz. 2 K.M. Ocetkiewicz Realizacja Aplikacji Internetowych 2013 laboratorium cz. 2 K.M. Ocetkiewicz Walidacja po stronie klienta: - w MVC 3 i 4 domyślnie jest włączona także walidacja po stronie klienta - wykorzystuje ona JavaScript

Bardziej szczegółowo

Podstawy wzorca MVC 2011-10-18 MODEL KON- TROLER WIDOK. Odpowiada za wyświetlenie danych użytkownikowi. Zawiera dane aplikacji oraz jej logikę.

Podstawy wzorca MVC 2011-10-18 MODEL KON- TROLER WIDOK. Odpowiada za wyświetlenie danych użytkownikowi. Zawiera dane aplikacji oraz jej logikę. Podstawy wzorca MVC MODEL KON- TROLER WIDOK Zawiera dane aplikacji oraz jej logikę. MODEL WIDOK Odpowiada za wyświetlenie danych użytkownikowi KON- TROLER KON- TROLER MODEL WIDOK Jedyna część aplikacji,

Bardziej szczegółowo

Laboratorium 7 Blog: dodawanie i edycja wpisów

Laboratorium 7 Blog: dodawanie i edycja wpisów Laboratorium 7 Blog: dodawanie i edycja wpisów Dodawanie nowych wpisów Tworzenie formularza Za obsługę formularzy odpowiada klasa Zend_Form. Dla każdego formularza w projekcie tworzymy klasę dziedziczącą

Bardziej szczegółowo

Poznaj ASP.NET MVC. Kamil Cieślak Microsoft Student Partner 2013-03-11

Poznaj ASP.NET MVC. Kamil Cieślak Microsoft Student Partner 2013-03-11 Poznaj ASP.NET MVC Kamil Cieślak Microsoft Student Partner 2013-03-11 Agenda Czym jest ASP.NET MVC? Wzorzec MVC ASP.NET MVC vs inne frameworki Bazy danych w ASP.NET MVC Jak zacząć? 2 Czym jest ASP.NET

Bardziej szczegółowo

Platformy Programowania

Platformy Programowania Platformy Programowania Ćwiczenie 1 4 x Hello World! Środowisko programistyczne, w którym będziemy pracować do wakacji: Microsoft Visual Studio 2010 Profesional 1. Utwórz aplikację konsolową. Po uruchomieniu

Bardziej szczegółowo

WYKORZYSTANIE WZORCA MVC W ASP.NET

WYKORZYSTANIE WZORCA MVC W ASP.NET MACIEJ WĘGRZYNOWSKI Wydział Elektroniki i Informatyki Politechniki Koszalińskiej Kierunek Informatyka, II rok studiów niestacjonarnych drugiego stopnia Przedmiot PROGRAMOWANIE W ŚRODOWISKU.NET WYKORZYSTANIE

Bardziej szczegółowo

Architektura MVC w ASP.NET. Autor wykładu: Marek Wojciechowski

Architektura MVC w ASP.NET. Autor wykładu: Marek Wojciechowski Architektura MVC w ASP.NET Autor wykładu: Marek Wojciechowski Modele programistyczne ASP.NET Web Forms Komponentowy interfejs użytkownika (kontrolki) Programowanie wizualno-zdarzeniowe Klasyczna składnia

Bardziej szczegółowo

Walidacja po stronie serwera Walidacja po stronie klienta:

Walidacja po stronie serwera Walidacja po stronie klienta: Walidacja po stronie serwera: - do prostej walidacji słuŝy obiekt ModelState, - walidacja, która wykorzystuje ten obiekt wykonuje odpowiednie testy i w przypadku błędu woła metodę AddModelError z parametrami

Bardziej szczegółowo

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

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Dr inż. Zofia Kruczkiewicz Dwa sposoby tworzenia apletów Dwa sposoby

Bardziej szczegółowo

Microsoft.NET: ASP.NET MVC + Entity Framework (Model First)

Microsoft.NET: ASP.NET MVC + Entity Framework (Model First) Microsoft.NET: ASP.NET MVC + Entity Framework (Model First) Do realizacji projektu potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2012. W ramach projektu budowana jest prosta

Bardziej szczegółowo

Gatesms.eu Mobilne Rozwiązania dla biznesu

Gatesms.eu Mobilne Rozwiązania dla biznesu Mobilne Rozwiązania dla biznesu SPECYFIKACJA TECHNICZNA WEB API-USSD GATESMS.EU wersja 0.9 Opracował: Gatesms.eu Spis Historia wersji dokumentu...3 Bezpieczeństwo...3 Wymagania ogólne...3 Mechanizm zabezpieczenia

Bardziej szczegółowo

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

Wykład 3 Inżynieria oprogramowania. Przykład 1 Bezpieczeństwo(2) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz Wykład 3 Inżynieria oprogramowania Przykład 1 Bezpieczeństwo(2) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz Struktura wykładu 1. Utworzenie użytkowników i ról na serwerze aplikacji Sun Java System

Bardziej szczegółowo

Aplikacje WWW - laboratorium

Aplikacje WWW - laboratorium Aplikacje WWW - laboratorium JavaServer Faces Celem ćwiczenia jest przygotowanie aplikacji internetowej z wykorzystaniem technologii JSF. Prezentowane ćwiczenia zostały wykonane w środowisku Oracle JDeveloper

Bardziej szczegółowo

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

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości część 2 Zaprojektowaliśmy stronę dodaj_dzial.aspx proszę jednak spróbować dodać nowy dział nie podając jego nazwy

Bardziej szczegółowo

Tworzenie i wykorzystanie usług sieciowych

Tworzenie i wykorzystanie usług sieciowych Ćwiczenie 14 Temat: Tworzenie i wykorzystanie usług sieciowych Cel ćwiczenia: W trakcie ćwiczenia student zapozna się z procedurą tworzenia usługi sieciowej w technologii ASP.NET oraz nauczy się tworzyć

Bardziej szczegółowo

Ciekawym rozwiązaniem służącym do obsługi zdarzeń dla kilku przycisków w ramach jednej aktywności może być następujący kod:

Ciekawym rozwiązaniem służącym do obsługi zdarzeń dla kilku przycisków w ramach jednej aktywności może być następujący kod: 1. Listener dla przycisku. Ciekawym rozwiązaniem służącym do obsługi zdarzeń dla kilku przycisków w ramach jednej aktywności może być następujący kod: W linii 24 tworzymy globalną metodę mglobal_onclicklistener,

Bardziej szczegółowo

Budowa aplikacji wielowarstwowych zastosowanie szablonów. Laboratorium 2 Programowanie komponentowe Zofia Kruczkiewicz

Budowa aplikacji wielowarstwowych zastosowanie szablonów. Laboratorium 2 Programowanie komponentowe Zofia Kruczkiewicz Budowa aplikacji wielowarstwowych zastosowanie szablonów Laboratorium 2 Programowanie komponentowe Zofia Kruczkiewicz Przykład 1 Zastosowanie szablonów Tworzenie kopii projektu typu Web Application o nazwie

Bardziej szczegółowo

Laboratorium 1. Wzorce oprogramowania lab1, Zofia Kruczkiewicz

Laboratorium 1. Wzorce oprogramowania lab1, Zofia Kruczkiewicz Aplikacja internetowa zbudowana w oparciu o środowisko Visual Web Java Server Faces. Zarządzanie obiektami typu SesionBeans, RequestBeen i ApplicationBeans, Laboratorium 1 Wzorce oprogramowania lab1, Okres

Bardziej szczegółowo

1 LINQ. Zaawansowane programowanie internetowe Instrukcja nr 1

1 LINQ. Zaawansowane programowanie internetowe Instrukcja nr 1 1 LINQ 1 1. Cel zajęć Celem zajęć jest zapoznanie się z technologią LINQ oraz tworzeniem trójwarstwowej aplikacji internetowej. 2. Zadanie Proszę przygotować aplikację WWW, która: będzie pozwalała na generowanie

Bardziej szczegółowo

Kurs walut. Specyfikacja projektu. Marek Zając 2013-12-16

Kurs walut. Specyfikacja projektu. Marek Zając 2013-12-16 Kurs walut Specyfikacja projektu Marek Zając 2013-12-16 Spis treści 1. Podsumowanie... 2 1.1 Wstęp... 2 1.2 Projekt interfejsu... 2 1.2.1 Rozmiar głównego okna... 2 2. Słownik pojęć... 2 2.1 Definicja

Bardziej szczegółowo

Aplikacje WWW - laboratorium

Aplikacje WWW - laboratorium Aplikacje WWW - laboratorium Serwlety Celem ćwiczenia jest przygotowanie kilku prostych serwletów ilustrujących możliwości tej technologii. Poszczególne ćwiczenia prezentują sposób przygotowania środowiska,

Bardziej szczegółowo

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

Microsoft.NET: LINQ to SQL, ASP.NET AJAX Microsoft.NET: LINQ to SQL, ASP.NET AJAX Do realizacji projektu potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2008 oraz serwer bazy danych SQL Server Express 2005 (lub

Bardziej szczegółowo

Podstawy JavaScript ćwiczenia

Podstawy JavaScript ćwiczenia Podstawy JavaScript ćwiczenia Kontekst:

Bardziej szczegółowo

Wprowadzenie do projektu QualitySpy

Wprowadzenie do projektu QualitySpy Wprowadzenie do projektu QualitySpy Na podstawie instrukcji implementacji prostej funkcjonalności. 1. Wstęp Celem tego poradnika jest wprowadzić programistę do projektu QualitySpy. Będziemy implementować

Bardziej szczegółowo

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf Materiały poprawione Rozwiązanie zadania w NetBeans IDE 7.4: Jarosław Ksybek, Adam Miazio Celem ćwiczenia jest przygotowanie prostej aplikacji

Bardziej szczegółowo

Aplikacje WWW - laboratorium

Aplikacje WWW - laboratorium Aplikacje WWW - laboratorium JavaServer Pages Celem ćwiczenia jest zbudowanie kilku prostych stron internetowych z użyciem technologii JSP. Podczas ćwiczenia wykorzystany zostanie algorytm sortowania bąbelkowego

Bardziej szczegółowo

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

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości Rozpoczniemy od zaprojektowania bazy danych w programie SYBASE/PowerDesigner umieszczamy dwie Encje (tabele) prawym

Bardziej szczegółowo

Aktualizacja SMSFall v. 1.1.5 Data publikacji: 20-05-2013

Aktualizacja SMSFall v. 1.1.5 Data publikacji: 20-05-2013 Aktualizacja SMSFall v. 1.1.5 Data publikacji: 20-05-2013 Wersja Standard i Plus: we właściwościach terminala dodano wskaźnik poziomu sygnału urządzenia GSM wyrażony w dbm. Podstawa teoretyczna: http://pl.wikipedia.org/wiki/dbm.

Bardziej szczegółowo

Podręcznik Użytkownika LSI WRPO

Podręcznik Użytkownika LSI WRPO Podręcznik użytkownika Lokalnego Systemu Informatycznego do obsługi Wielkopolskiego Regionalnego Programu Operacyjnego na lata 2007 2013 w zakresie wypełniania wniosków o dofinansowanie Wersja 1 Podręcznik

Bardziej szczegółowo

Leszek Stasiak Zastosowanie technologii LINQ w

Leszek Stasiak Zastosowanie technologii LINQ w Leszek Stasiak Zastosowanie technologii LINQ w C# 1. Wstęp - połączenie Do naszych zadań będziemy używać Microsoft Visual Studio 2010. Stwórzmy nowy projekt Windows Form Application. Mając do dyspozycji

Bardziej szczegółowo

Wstęp - Prosta aplikacja internetowa w technologii Java EE 5. Programowanie komponentowe 1

Wstęp - Prosta aplikacja internetowa w technologii Java EE 5. Programowanie komponentowe 1 Wstęp - Prosta aplikacja internetowa w technologii Java EE 5 Programowanie komponentowe 1 Przykład 1- Wykonanie prostej aplikacji internetowej w technologii JavaEE w środowisku Netbeans 5.5 z wykorzystaniem

Bardziej szczegółowo

Instrukcja użytkownika. Aplikacja dla Comarch ERP XL

Instrukcja użytkownika. Aplikacja dla Comarch ERP XL Instrukcja użytkownika Aplikacja dla Comarch ERP XL Instrukcja użytkownika Aplikacja dla Comarch ERP XL Wersja 1.0 Warszawa, Listopad 2015 Strona 2 z 12 Instrukcja użytkownika Aplikacja dla Comarch ERP

Bardziej szczegółowo

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar)

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar) Tworzenie witryn internetowych PHP/Java (mgr inż. Marek Downar) Rodzaje zawartości Zawartość statyczna Treść statyczna (np. nagłówek, stopka) Layout, pliki multimedialne, obrazki, elementy typograficzne,

Bardziej szczegółowo

Instrukcja użytkownika. Aplikacja dla WF-Mag

Instrukcja użytkownika. Aplikacja dla WF-Mag Instrukcja użytkownika Aplikacja dla WF-Mag Instrukcja użytkownika Aplikacja dla WF-Mag Wersja 1.0 Warszawa, Kwiecień 2015 Strona 2 z 13 Instrukcja użytkownika Aplikacja dla WF-Mag Spis treści 1. Wstęp...4

Bardziej szczegółowo

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Narzędzia i aplikacje Java EE Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Niniejsze opracowanie wprowadza w technologię usług sieciowych i implementację usługi na platformie Java EE (JAX-WS) z

Bardziej szczegółowo

Instrukcja użytkownika. Aplikacja dla Comarch Optima

Instrukcja użytkownika. Aplikacja dla Comarch Optima Instrukcja użytkownika Aplikacja dla Comarch Optima Instrukcja użytkownika Aplikacja dla Comarch Optima Wersja 1.1 Warszawa, Luty 2016 Strona 2 z 14 Instrukcja użytkownika Aplikacja dla Comarch Optima

Bardziej szczegółowo

D:\DYDAKTYKA\ZAI_BIS\_Ćwiczenia_wzorce\04\04_poprawiony.doc 2009-lis-23, 17:44

D:\DYDAKTYKA\ZAI_BIS\_Ćwiczenia_wzorce\04\04_poprawiony.doc 2009-lis-23, 17:44 Zaawansowane aplikacje internetowe EJB 1 Rozróżniamy dwa rodzaje beanów sesyjnych: Stateless Statefull Celem tego laboratorium jest zbadanie różnic funkcjonalnych tych dwóch rodzajów beanów. Poszczególne

Bardziej szczegółowo

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC Akademia MetaPack Uniwersytet Zielonogórski Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC Krzysztof Blacha Microsoft Certified Professional Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC Agenda:

Bardziej szczegółowo

Dokumentacja serwera REST do obsługi rezerwacji w systemie SaNAtoRIUm.pro

Dokumentacja serwera REST do obsługi rezerwacji w systemie SaNAtoRIUm.pro Dokumentacja serwera REST do obsługi rezerwacji w systemie SaNAtoRIUm.pro Kontakt: tel. 54 282 1385 e-mail: info@softor.pl Podstawowe informacje: Serwer REST dostępny pod adresem https://api.sanatorium.pro/v1/

Bardziej szczegółowo

Kostki OLAP i język MDX

Kostki OLAP i język MDX Kostki OLAP i język MDX 24 kwietnia 2015 r. Opis pliku z zadaniami Wszystkie zadania na zajęciach będą przekazywane w postaci plików PDF sformatowanych jak ten. Będą się na nie składały różne rodzaje zadań,

Bardziej szczegółowo

Instrukcja użytkownika. Aplikacja dla Comarch Optima

Instrukcja użytkownika. Aplikacja dla Comarch Optima Instrukcja użytkownika Aplikacja dla Comarch Optima Instrukcja użytkownika Aplikacja dla Comarch Optima Wersja 1.0 Warszawa, Sierpień 2015 Strona 2 z 12 Instrukcja użytkownika Aplikacja dla Comarch Optima

Bardziej szczegółowo

Poradnik korzystania z usługi FTP

Poradnik korzystania z usługi FTP Poradnik korzystania z usługi FTP 1. Wstęp FTP (ang. File Transfer Protocol) to usługa pozwalająca na wymianę plików poprzez Internet w układzie klient-serwer. Po podłączeniu się do serwera za pomocą loginu

Bardziej szczegółowo

Politechnika Gdańska Katedra Optoelektroniki i Systemów Elektronicznych

Politechnika Gdańska Katedra Optoelektroniki i Systemów Elektronicznych Laboratorium OiOSE. Programowanie w środowisku MS Visual C++ 1 Politechnika Gdańska Katedra Optoelektroniki i Systemów Elektronicznych Organizacja i Oprogramowanie Systemów Elektronicznych Michał Kowalewski

Bardziej szczegółowo

Laboratorium 1 - Programowanie proceduralne i obiektowe

Laboratorium 1 - Programowanie proceduralne i obiektowe Laboratorium 1 - Programowanie proceduralne i obiektowe mgr inż. Kajetan Kurus 4 marca 2014 1 Podstawy teoretyczne 1. Programowanie proceduralne (powtórzenie z poprzedniego semestru) (a) Czym się charakteryzuje?

Bardziej szczegółowo

INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład VII

INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład VII Wrocław 2006 INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład VII Paweł Skrobanek C-3, pok. 323 e-mail: pawel.skrobanek@pwr.wroc.pl INTERNETOWE BAZY DANYCH PLAN NA DZIŚ : Cookies Sesje Inne możliwości

Bardziej szczegółowo

Laboratorium 6 Tworzenie bloga w Zend Framework

Laboratorium 6 Tworzenie bloga w Zend Framework Laboratorium 6 Tworzenie bloga w Zend Framework Przygotowanie bazy danych 1. Wykonaj skrypt blog.sql, który założy w bazie danych dwie tabele oraz wpisze do nich przykładowe dane. Tabela blog_uzytkownicy

Bardziej szczegółowo

MS Visual Studio Express 2012 for Web instalacja i konfiguracja

MS Visual Studio Express 2012 for Web instalacja i konfiguracja MS Visual Studio Express 2012 for Web instalacja i konfiguracja Strona 1 z 10 Spis treści 1. Instalacja Visual Studio for Web....3 2. Przygotowanie projektu....5 3. Otwarcie projektu przy pomocy VSW....6

Bardziej szczegółowo

Współpraca z platformą Emp@tia. dokumentacja techniczna

Współpraca z platformą Emp@tia. dokumentacja techniczna Współpraca z platformą Emp@tia dokumentacja techniczna INFO-R Spółka Jawna - 2013 43-430 Pogórze, ul. Baziowa 29, tel. (33) 479 93 29, (33) 479 93 89 fax (33) 853 04 06 e-mail: admin@ops.strefa.pl Strona1

Bardziej szczegółowo

Zaawansowane aplikacje internetowe - laboratorium Web Services (część 1).

Zaawansowane aplikacje internetowe - laboratorium Web Services (część 1). Zaawansowane aplikacje internetowe - laboratorium Web Services (część 1). Celem ćwiczenia jest przygotowanie prostej aplikacji internetowej wykorzystującej technologię usług sieciowych (ang. Web Services).

Bardziej szczegółowo

Instalacja rozwiązania... 2. Uruchomienie rozwiązania w systemie Sage... 3. Konfiguracja dodatku... 4. Ustawienia dodatkowe rozwiązania...

Instalacja rozwiązania... 2. Uruchomienie rozwiązania w systemie Sage... 3. Konfiguracja dodatku... 4. Ustawienia dodatkowe rozwiązania... Rozwiązanie przygotowane do wymiany danych pomiędzy programem Sage Handel a serwisem www.allegro.pl za pośrednictwem oprogramowania Firmy PhotoSoft EasyUploader. Rozwiązanie pozwala na przesyłanie towarów

Bardziej szczegółowo

Dokumentacja interfejsu HTTPD. Platforma BSMS.PL Instrukcja podłączenia po przez http

Dokumentacja interfejsu HTTPD. Platforma BSMS.PL Instrukcja podłączenia po przez http Dokumentacja interfejsu HTTPD Platforma BSMS.PL Instrukcja podłączenia po przez http Dokumentacja interfejsu httpd (strona 2) SPIS TREŚCI 1. Zawartość dokumentu str.3 2. Informacje ogólne 2.1 Zastosowanie

Bardziej szczegółowo

Projekt Hurtownia, realizacja rejestracji dostaw produktów

Projekt Hurtownia, realizacja rejestracji dostaw produktów Projekt Hurtownia, realizacja rejestracji dostaw produktów Ćwiczenie to będzie poświęcone zaprojektowaniu formularza pozwalającego na rejestrację dostaw produktów dla naszej hurtowni. Dane identyfikujące

Bardziej szczegółowo

Laboratorium A: Zarządzanie ustawieniami zabezpieczeń/klucz do odpowiedzi

Laboratorium A: Zarządzanie ustawieniami zabezpieczeń/klucz do odpowiedzi Laboratorium A: Zarządzanie ustawieniami zabezpieczeń/klucz do odpowiedzi Ćwiczenie 1 Tworzenie szablonu niestandardowego Zadanie 1 W tym ćwiczeniu utworzysz niestandardowy szablon zabezpieczeń.! Utworzenie

Bardziej szczegółowo

Funkcje dodatkowe. Wersja 1.2.1

Funkcje dodatkowe. Wersja 1.2.1 Funkcje dodatkowe Wersja 1..1 Dokumentacja SMSAPI (https) FUNKCJE DODATKOWE z dnia 1.06.01 Wersja 1..1 SPIS TREŚCI 1.Wprowadzenie 1.1 Adresy URL do połączenia z aplikacją dla funkcji zarządzania kontem

Bardziej szczegółowo

Mobilny CRM BY CTI 1

Mobilny CRM BY CTI 1 Mobilny CRM BY CTI 1 Spis treści 1. Wstęp...3 2. Instrukcja do programu...3 2.1. Lewe menu...4 2.1.1. Zakładka klient...5 2.1.2. Zakładka spotkania... 10 2.1.3. Zakładka kalendarz... 17 2.1.4. Zakładka

Bardziej szczegółowo

Dokumentacja systemu NTP rekrut. Autor: Sławomir Miller

Dokumentacja systemu NTP rekrut. Autor: Sławomir Miller Dokumentacja systemu NTP rekrut Autor: Sławomir Miller 1 Spis treści: 1. Wstęp 1.1 Wprowadzenie 1.2 Zakres dokumentu 2. Instalacja 2.1 Wymagania systemowe 2.2 Początek 2.3 Prawa dostępu 2.4 Etapy instalacji

Bardziej szczegółowo

Podręcznik Integracji

Podręcznik Integracji Podręcznik Integracji Spis treści 1. Integracja oferty... 3 1.1. Samodzielne wprowadzanie oferty sklepu... 3 1.2. Automatyczne wprowadzanie oferty z pliku XML... 3 1.3. Cyklicznie pobieranie oferty ze

Bardziej szczegółowo

Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski SYSTEMY SCADA

Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski SYSTEMY SCADA Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski SYSTEMY SCADA Laboratorium nr 8 PODSTAWY OBSŁUGI PROGRAMU WONDERWARE INTOUCH 10.1 Opracował: mgr inż. Marcel Luzar Cel: Konfiguracja

Bardziej szczegółowo

I - Microsoft Visual Studio C++

I - Microsoft Visual Studio C++ I - Microsoft Visual Studio C++ 1. Nowy projekt z Menu wybieramy File -> New -> Projekt -> Win32 Console Application w okienku Name: podajemy nazwę projektu w polu Location: wybieramy miejsce zapisu i

Bardziej szczegółowo

KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED

KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED Podręcznik użytkownika Katowice 2010 Producent programu: KAMSOFT S.A. ul. 1 Maja 133 40-235 Katowice Telefon: (0-32) 209-07-05 Fax:

Bardziej szczegółowo

https://lsi.ncbr.gov.pl

https://lsi.ncbr.gov.pl Instrukcja składania wniosku o dofinansowanie w systemie informatycznym IP na potrzeby konkursu nr 2/1.1.2/2015 INFORMACJE OGÓLNE 1. Wnioski o dofinansowanie projektu w ramach konkursu nr 2/1.1.2/2015

Bardziej szczegółowo

Wdrożenie modułu płatności eservice. dla systemu Zen Cart 1.3.9 1.5

Wdrożenie modułu płatności eservice. dla systemu Zen Cart 1.3.9 1.5 Wdrożenie modułu płatności eservice dla systemu Zen Cart 1.3.9 1.5 - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie

Bardziej szczegółowo

Instrukcja obsługi certyfikatów w programie pocztowym MS Outlook Express 5.x/6.x

Instrukcja obsługi certyfikatów w programie pocztowym MS Outlook Express 5.x/6.x Spis treści Wstęp... 1 Instalacja certyfikatów w programie pocztowym... 1 Instalacja certyfikatów własnych... 1 Instalacja certyfikatów innych osób... 3 Import certyfikatów innych osób przez odebranie

Bardziej szczegółowo

API transakcyjne BitMarket.pl

API transakcyjne BitMarket.pl API transakcyjne BitMarket.pl Wersja 20140402 1. Sposób łączenia się z API... 2 1.1. Klucze API... 2 1.2. Podpisywanie wiadomości... 2 1.3. Parametr tonce... 2 1.4. Limity zapytań... 3 1.5. Odpowiedzi

Bardziej szczegółowo

Elektroniczny Urząd Podawczy

Elektroniczny Urząd Podawczy Elektroniczny Urząd Podawczy Dzięki Elektronicznemu Urzędowi Podawczemu Beneficjent może wypełnić i wysłać formularz wniosku o dofinansowanie projektów w ramach Regionalnego Programu Operacyjnego Województwa

Bardziej szczegółowo

Rozdział ten zawiera informacje o sposobie konfiguracji i działania Modułu OPC.

Rozdział ten zawiera informacje o sposobie konfiguracji i działania Modułu OPC. 1 Moduł OPC Moduł OPC pozwala na komunikację z serwerami OPC pracującymi w oparciu o model DA (Data Access). Dzięki niemu można odczytać stan obiektów OPC (zmiennych zdefiniowanych w programie PLC), a

Bardziej szczegółowo

Opis aktualizacji programu Kancelaria Komornika

Opis aktualizacji programu Kancelaria Komornika Opis aktualizacji programu Kancelaria Komornika ZUS-EKS Currenda sp. z o.o.; 30-348 K rakó w, ul. B o b rz y ńs ki e g o 3 9 b / 1 7 t el. (12) 3 5 8-01-3 1, (12) 359-78-98 f a x (1 2 ) 358-01-01 w. 6

Bardziej szczegółowo

Założenia do ćwiczeń: SQL Server UWM Express Edition: 213.184.8.192\SQLEXPRESS. Zapoznaj się ze sposobami użycia narzędzia T SQL z wiersza poleceń.

Założenia do ćwiczeń: SQL Server UWM Express Edition: 213.184.8.192\SQLEXPRESS. Zapoznaj się ze sposobami użycia narzędzia T SQL z wiersza poleceń. Cel: polecenia T-SQL Założenia do ćwiczeń: SQL Server UWM Express Edition: 213.184.8.192\SQLEXPRESS Authentication: SQL Server Authentication Username: student01,, student21 Password: student01,., student21

Bardziej szczegółowo

BACKUP BAZ DANYCH FIREBIRD

BACKUP BAZ DANYCH FIREBIRD BACKUP BAZ DANYCH FIREBIRD SPIS TREŚCI Informacje ogólne... 2 Tworzenie projektu... 2 Krok 1: Informacje podstawowe... 2 Krok 2: Dane... 3 Backup bazy umieszczonej na serwerze... 3 Bezpośredni backup pliku

Bardziej szczegółowo

Kadry Optivum, Płace Optivum

Kadry Optivum, Płace Optivum Kadry Optivum, Płace Optivum Jak seryjnie przygotować wykazy absencji pracowników? W celu przygotowania pism zawierających wykazy nieobecności pracowników skorzystamy z mechanizmu Nowe wydruki seryjne.

Bardziej szczegółowo

emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym WooCommerce (plugin dostępny w wersji ecommerce)

emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym WooCommerce (plugin dostępny w wersji ecommerce) emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym WooCommerce (plugin dostępny w wersji ecommerce) Zastosowanie Rozszerzenie to dedykowane jest sklepom internetowych działającym w oparciu

Bardziej szczegółowo

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

Instrukcja składania wniosku o dofinansowanie w systemie informatycznym IP na potrzeby konkursu nr 1/1.1.1/2015 Instrukcja składania wniosku o dofinansowanie w systemie informatycznym IP na potrzeby konkursu nr 1/1.1.1/2015 INFORMACJE OGÓLNE 1. Wnioski o dofinansowanie projektu w ramach konkursu nr 1/1.1.1/2015

Bardziej szczegółowo

Projekt Hurtownia, realizacja rejestracji dostaw produktów

Projekt Hurtownia, realizacja rejestracji dostaw produktów Projekt Hurtownia, realizacja rejestracji dostaw produktów Ćwiczenie to będzie poświęcone zaprojektowaniu formularza pozwalającego na rejestrację dostaw produktów dla naszej hurtowni. Dane identyfikujące

Bardziej szczegółowo

16) Wprowadzenie do raportowania Rave

16) Wprowadzenie do raportowania Rave 16) Wprowadzenie do raportowania Rave Tematyka rozdziału: Przegląd wszystkich komponentów Rave Tworzenie nowego raportu przy użyciu formatki w środowisku Delphi Aktywacja środowiska Report Authoring Visual

Bardziej szczegółowo

Programowanie w Sieci Internet JSP ciąg dalszy. Kraków, 9 stycznia 2015 r. mgr Piotr Rytko Wydział Matematyki i Informatyki

Programowanie w Sieci Internet JSP ciąg dalszy. Kraków, 9 stycznia 2015 r. mgr Piotr Rytko Wydział Matematyki i Informatyki Programowanie w Sieci Internet JSP ciąg dalszy Kraków, 9 stycznia 2015 r. mgr Piotr Rytko Wydział Matematyki i Informatyki Co dziś będziemy robić JSP tags, Używanie tagów, Custom tags, JSP objests, Obiekty

Bardziej szczegółowo

Programowanie w Javie

Programowanie w Javie Programowanie w Javie Andrzej Czajkowski Lista nr 0 Debugger w Javie Celem ćwiczenia jest poznanie podstawowych funkcji narzędzia debugera (odpluskwiacz) w środowisku Eclipse. Po ukończeniu ćwiczenia student

Bardziej szczegółowo

Windows Server 2012 Active Directory

Windows Server 2012 Active Directory POLITECHNIKA GDAŃSKA WYDZIAŁ ELEKTRONIKI TELEKOMUNIKACJI I INFORMATYKI Katedra Architektury Systemów Komputerowych Jarosław Kuchta Instrukcja do laboratorium z przedmiotu Administrowanie Systemami Komputerowymi

Bardziej szczegółowo

System Obsługi Zleceń

System Obsługi Zleceń System Obsługi Zleceń Podręcznik Administratora Atinea Sp. z o.o., ul. Chmielna 5/7, 00-021 Warszawa NIP 521-35-01-160, REGON 141568323, KRS 0000315398 Kapitał zakładowy: 51.000,00zł www.atinea.pl wersja

Bardziej szczegółowo

Wdrożenie modułu płatności eservice. dla systemu oscommerce 2.3.x

Wdrożenie modułu płatności eservice. dla systemu oscommerce 2.3.x Wdrożenie modułu płatności eservice dla systemu oscommerce 2.3.x - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie

Bardziej szczegółowo

URLOPY BY CTI. Instrukcja obsługi

URLOPY BY CTI. Instrukcja obsługi URLOPY BY CTI Instrukcja obsługi 1. Wstęp.... 3 2. Uruchomienie programu.... 4 3. Rozpoczęcie pracy w programie.... 6 4. Widok kalendarza.... 8 5. Widok pracowników.... 10 6.Tabela z danymi... 11 1. Wstęp.

Bardziej szczegółowo

Instrukcja laboratoryjna cz.6

Instrukcja laboratoryjna cz.6 Programowanie aplikacji internetowych 2013/2014 Instrukcja laboratoryjna cz.6 Technologia Silverlight cz.2 Prowadzący: Tomasz Goluch Wersja: 3.0 I. Model danych (tworzenie bazy na podstawie modelu). Cel:

Bardziej szczegółowo

PROBLEMY TECHNICZNE. Co zrobić, gdy natrafię na problemy związane z użytkowaniem programu DYSONANS

PROBLEMY TECHNICZNE. Co zrobić, gdy natrafię na problemy związane z użytkowaniem programu DYSONANS PROBLEMY TECHNICZNE Co zrobić, gdy natrafię na problemy związane z użytkowaniem programu DYSONANS Jeżeli stwierdziłeś występowanie błędów lub problemów podczas pracy z programem DYSONANS możesz skorzystać

Bardziej szczegółowo

Certyfikat niekwalifikowany zaufany Certum Silver. Instalacja i użytkowanie pod Windows Vista. wersja 1.0 UNIZETO TECHNOLOGIES SA

Certyfikat niekwalifikowany zaufany Certum Silver. Instalacja i użytkowanie pod Windows Vista. wersja 1.0 UNIZETO TECHNOLOGIES SA Certyfikat niekwalifikowany zaufany Certum Silver Instalacja i użytkowanie pod Windows Vista wersja 1.0 Spis treści 1. POBRANIE CERTYFIKATU SILVER... 3 2. IMPORT CERTYFIKATU DO PROGRAMU POCZTA SYSTEMU

Bardziej szczegółowo

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

Pracownia internetowa w każdej szkole (edycja Jesień 2007) Instrukcja numer D1/05_03/Z Pracownia internetowa w każdej szkole (edycja Jesień 2007) Opiekun pracowni internetowej cz. 1 Ręczne zakładanie kont użytkowników (D1) Jak ręcznie założyć konto w systemie

Bardziej szczegółowo

Systemy internetowe ASP.NET mgr inż. Andrzej Sobecki

Systemy internetowe ASP.NET mgr inż. Andrzej Sobecki Systemy internetowe ASP.NET mgr inż. Andrzej Sobecki Plan wykładu Wprowadzenie do ASP.NET Omówienie środowiska pracy Przykładowy projekt Omówienie komponentów składowych projektu ASP.NET Utworzenie i omówienie

Bardziej szczegółowo

Bezpieczne uruchamianie apletów wg

Bezpieczne uruchamianie apletów wg Bezpieczne uruchamianie apletów wg http://java.sun.com/docs/books/tutorial/security1.2/ Zabezpieczenia przed uruchamianiem apletów na pisanych przez nieznanych autorów 1) ograniczenie możliwości odczytywania,

Bardziej szczegółowo

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

Pracownia internetowa w każdej szkole (edycja Jesień 2007) Instrukcja numer D2/08_01 Pracownia internetowa w każdej szkole (edycja Jesień 2007) Opiekun pracowni internetowej cz. 2 (D2) Określanie właściwości stron WWW (domyślne pliki startowe, katalogi wirtualne,

Bardziej szczegółowo

4 Web Forms i ASP.NET...149 Web Forms...150 Programowanie Web Forms...150 Możliwości Web Forms...151 Przetwarzanie Web Forms...152

4 Web Forms i ASP.NET...149 Web Forms...150 Programowanie Web Forms...150 Możliwości Web Forms...151 Przetwarzanie Web Forms...152 Wstęp...xv 1 Rozpoczynamy...1 Co to jest ASP.NET?...3 W jaki sposób ASP.NET pasuje do.net Framework...4 Co to jest.net Framework?...4 Czym są Active Server Pages (ASP)?...5 Ustawienia dla ASP.NET...7 Systemy

Bardziej szczegółowo

Certyfikat niekwalifikowany zaufany Certum Silver. Instrukcja dla uŝytkowników Windows Vista. wersja 1.1 UNIZETO TECHNOLOGIES SA

Certyfikat niekwalifikowany zaufany Certum Silver. Instrukcja dla uŝytkowników Windows Vista. wersja 1.1 UNIZETO TECHNOLOGIES SA Certyfikat niekwalifikowany zaufany Certum Silver Instrukcja dla uŝytkowników Windows Vista wersja 1.1 Spis treści 1. POBRANIE CERTYFIKATU SILVER... 3 2. IMPORTOWANIE CERTYFIKATU DO PROGRAMU POCZTA SYSTEMU

Bardziej szczegółowo

1 Moduł E-mail. 1.1 Konfigurowanie Modułu E-mail

1 Moduł E-mail. 1.1 Konfigurowanie Modułu E-mail 1 Moduł E-mail Moduł E-mail daje użytkownikowi Systemu możliwość wysyłania wiadomości e-mail poprzez istniejące konto SMTP. System Vision może używać go do wysyłania informacji o zdefiniowanych w jednostce

Bardziej szczegółowo

Karty pracy. Ustawienia. W tym rozdziale została opisana konfiguracja modułu CRM Karty pracy oraz widoki i funkcje w nim dostępne.

Karty pracy. Ustawienia. W tym rozdziale została opisana konfiguracja modułu CRM Karty pracy oraz widoki i funkcje w nim dostępne. Karty pracy W tym rozdziale została opisana konfiguracja modułu CRM Karty pracy oraz widoki i funkcje w nim dostępne. Ustawienia Pierwszym krokiem w rozpoczęciu pracy z modułem Karty Pracy jest definicja

Bardziej szczegółowo

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

Instrukcja składania wniosku o dofinansowanie w systemie informatycznym IP na potrzeby konkursu nr 1/1.1.1/2015 Instrukcja składania wniosku o dofinansowanie w systemie informatycznym IP na potrzeby konkursu nr 1/1.1.1/2015 INFORMACJE OGÓLNE 1. Wnioski o dofinansowanie projektu w ramach konkursu nr 1/1.1.1/2015

Bardziej szczegółowo