Widoki zagnieżdżone, layout. 1. Wprowadzenie Repozytoria danych

Podobne dokumenty
Baza danych sql. 1. Wprowadzenie

Baza danych sql. 1. Wprowadzenie. 2. Repozytaria generyczne

Modele danych walidacja widoki zorientowane na model

Ajax. 1. Wprowadzenie. 2. Aplikacja serwerowa

Sesje i logowanie. 1. Wprowadzenie

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

Laboratorium 7 Blog: dodawanie i edycja wpisów

REFERAT O PRACY DYPLOMOWEJ

Symfonia Produkcja. Kreator raportów. Wersja 2013

Przedstawienie modułu do obsługi ankiety jednostki w systemie PBN. Marek Kozłowski

Portal Turystyki Aktywnej Ziemi Wieluńskiej

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC

Kurs języka Ruby. Ruby on Rails ActionPack

Wprowadzenie do Doctrine ORM

Aplikacja Mobilna. Platformy B2B Kompanii Biurowej

Podręcznik Użytkownika LSI WRPO

MVC w praktyce tworzymy system artykułów. cz. 2

4 AS SP.NET MVC. Widok. Zaawansowane programowanie internetowe Instrukcja nr 4

Baza Aktów Własnych. Autor: Piotr Jegorow. ABC PRO Sp. z o.o.

Pomoc dla systemu WordPress

Wprowadzenie do programowania aplikacji mobilnych

Platforma e-learningowa

Instrukcja użytkownika systemu medycznego

Programowanie obiektowe

Spis treści. 1: Wyszukiwanie elementu : Do linii modelu : Powiel arkusze : Długość kabla : Rozmieszczenie widoków...

1. Dockbar, CMS + wyszukiwarka aplikacji Dodawanie portletów Widok zawartości stron... 3

Opis modułu pl.id w programie Komornik SQL-VAT

Wysyłka dokumentacji serwisowej z Sekafi3 SQL do producentów.

Programowanie w Sieci Internet Python - c. d. Kraków, 28 listopada 2014 r. mgr Piotr Rytko Wydział Matematyki i Informatyki

UONET+ moduł Sekretariat. Gromadzenie danych uczniów

emszmal 3: Eksport do Subiekt GT homebanking (plugin dostępny w wersji ecommerce)

emszmal 3: Eksport wyciągów do Insert (Su\Re\Ra\Gr) GT homebanking (plugin dostępny wraz z dodatkiem Biznes)

Centrum Informatyki "ZETO" S.A. w Białymstoku. Wysyłanie danych o licencjach i zezwoleniach do CEIDG w systemie ProcEnt Licencje

emszmal 3: Eksport wyciągów do Subiekt (Su\Re) GT (plugin dostępny wraz z dodatkiem Biznes)

UONET+ - moduł Sekretariat

Podręcznik użytkownika Obieg dokumentów

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Aplikacje WWW - laboratorium

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

Omówienie wzorców wykorzystywanych w Prism 5.0. Dominika Różycka

GENERATOR OFERTY PDF DOKUMENTACJA UŻYTKOWA 1/20

System imed24 Instrukcja Moduł Analizy i raporty

app/ - folder zawiera pliki konfiguracyjne dla całej aplikacji Można wybrać sposób zapisu konfiguracji: YML, XML, PHP

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 6

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

Obiegówka elektroniczna- wdrożenie i użytkowanie w jednostce UW (poradnik)

Wyrażenie include(sciezka_do_pliku) pozwala na załadowanie (wnętrza) pliku do skryptu php. Plik ten może zawierać wszystko, co może się znaleźć w

MATERIAŁY - udostępnianie materiałów dydaktycznych w sieci SGH

INSTRUKCJA OBSŁUGI PROGRAMU KSZKOŁA

PROE wykład 2 operacje na wskaźnikach. dr inż. Jacek Naruniec

Nowe funkcjonalności wersji

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

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

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

Platformy Programowania

emszmal 3: Eksport wyciągów do Reset2 R2fk SQL (4.xx) (plugin dostępny wraz z dodatkiem Biznes)

Polecenie 3.1: Uruchom SQL Server Management Studio, zaloguj się do serwera.

INSTRUKCJA DLA OPERATORA

Poznaj ASP.NET MVC. Kamil Cieślak Microsoft Student Partner

Programowanie w języku Swift : Big Nerd Ranch guide / Matthew Mathias, John Gallagher. Gliwice, cop Spis treści

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

Backend Administratora

emszmal 3: Eksport wyciągów do Symfonia ERP (plugin dostępny wraz z dodatkiem Biznes)

Co nowego w systemie Kancelaris 4.11 STD/4.21 PLUS. Co nowego w systemie Kancelaris 4.12 STD/4.22 PLUS

16) Wprowadzenie do raportowania Rave

Wzorce projektowe cz. II. Wzorce projektowe cz. II 1/35

Instrukcja obsługi ON!Track. Platforma internetowa 2.3 Wersja instrukcji 1.1

Architektura interfejsu użytkownika

Modelowanie obiektowe - Ćw. 1.

emszmal 3: Automatyczne księgowanie płatności do zamówień w programie Subiekt GT (plugin dostępny w wersji ecommerce)

Praca z wynikami w ALOORA

Aktywności są związane z ekranem i definiują jego wygląd. Dzieje się to poprzez podpięcie do aktywności odpowiedniego widoku.

Programowanie obiektowe

2.4 Planowanie i przydzielanie pracy

Rozkłady zajęć- notatki

Laboratorium 6 Tworzenie bloga w Zend Framework

Tworzenie szablonów użytkownika

Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza

Compas 2026 Vision Instrukcja obsługi do wersji 1.07

Opis modułu pl.id w programie Komornik SQL-VAT

e-podręcznik dla seniora... i nie tylko.

3. Budowa prostych raportów opartych o bazę danych

Przed przystąpieniem do czytania dokumentu, proszę o zapoznanie się z podstawowym dokumentem Instrukcja obsługi AZU dla użytkownika zewnętrznego.

Aktualizacja SMSFall v Data publikacji:

URL, URI różnice i podobieństwa

UONET+ moduł Dziennik. Rejestrowanie frekwencji uczniów na lekcjach w widoku Lekcja

Instrukcja użytkownika

UONET+ moduł Dziennik. Praca z rozkładami materiału nauczania

1. Przypisy, indeks i spisy.

W tej sekcji znajdują się foldery gromadzące wszystkie pliki znajdujące się w Twoim projekcie. Nazwa folderu odpowiada rodzaj owi załącznika.

emszmal 3: Eksport wyciągów do Insert (Su\Re\Ra\Gr) nexo (plugin dostępny wraz z dodatkiem Biznes)

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

KatMPBSoft - 1 -

SZKOLENIE TWORZENIE SYSTEMÓW

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

Przed przystąpieniem do czytania dokumentu, proszę o zapoznanie się z podstawowym dokumentem Instrukcja obsługi AZU dla użytkownika zewnętrznego.

Transkrypt:

Widoki zagnieżdżone, layout 1. Wprowadzenie Repozytoria danych Identyczne operacje na danych często się powtarzają np. pobierz książkę. Jeśli zapytanie realizowane jest za każdym razem w metodzie kontrolera to uzyskujemy dużo powtórzeń tego samego kodu. Ażeby temu zapobiec wydziela się osobną klasę odpowiadającą za dostęp do danych. Jej plusy to: Redukcja powtórzeń kodu odpowiadającego za dany rodzaj danych (łatwiej zapanować nad kodem w dużych wieloosobowych projektach). Wszystkie operacje na kolekcji w jednym miejscu (łatwiej coś dopisać lub zmienić). Możliwość podziału pracy (wydzielona osoba odpowiadająca za dostęp do danych np. pisze zapytania SQL dostarczając pozostałym już tylko obiekty). W MVC klasy odpowiedzialne za operacje na danych możemy umieszczać w katalogu Models. Warto również opatrzyć je dopiskiem Repository. /Models/{nazwa}Repository.cs Jest to zwykła klasa, która odpowiada za operację na danych. W kontrolerach tworzy się obiekt tej klasy i korzysta z jej iterfejsu. W naszym przykładzie mamy dwa modele i dwa repozytoria: Model mieszkania

Repozytorium Mieszkań Model mieszkańca

Repozytorium mieszkańców

Nasze repozytoria jednocześnie przetrzymują dane. Dodatkowo w przykładzie posiadamy dwa kontrolery dla mieszkań i mieszkańców. Kontroler mieszkań

Kontroler lokatorów Wszystko ładnie rozdzielone. Uwaga 1. Zauważcie, że lokatorzy nie są bezpośrednio powiązani z mieszkaniami np. przez umieszczenie ich w liście. Natomiast są powiązani poprzez id mieszania. Uwaga 2. Guid jest zmienną generująca i przetrzymującą unikatowy numer seryjny, na podstawie którego możecie rozróżnić obiekty. Do wygenerowania unikalnego Guida należy użyć metody: Guid.NewGuid()

2 Wprowadzenie zaawansowane wykorzystanie widoków Do tej pory używaliście-tworzyliście pojedyncze widoki pod każdą metodę-akcję kontrolera. W rzeczywistości można wykorzystywać dodatkowe widoki dla pojedynczych elementów strony. Takimi elementami są np. paginacja, logowanie, status. Powtarzają się na wielu stronach, ale nie są głównym kontentem, warto wtedy je umieścić w osobnych widokach, aby nie powtarzać kodu. Dodatkowo dzięki takim zabiegom mamy większą kontrolę nad kodem, łatwiej modyfikować stronę zachowując spójność. Można je przeplatać, czyli w jednym widoku odwołacie się do kilku innych. Często spotykanym elementem może być drobny widok dla pojedynczego obiektu np. domu. W przypadku wyświetlania listy domów ten pojedynczy widok może zostać wywołany wielokrotnie. W MVC rozróżniono 3 rodzaje widoków: Normalny ten który dotychczas używaliście, z modelem lub bez, dedykowany pod metody kontrolerów. Domyślnie View {controller} {action} Layout okalający normalne widoki. W nim znajduje się całość kodu html. Widoki tego typu nie posiadają modeli danych i są umieszczane w katalogu View Shared. Domyślny layout jest zdefiniowany w pliku View _ViewStart.cshtml

Partial widoki częściowe podobnie do normalnych z modelem lub bez, jednakże nie są przypisane kontrolerom. Znajdują się w katalogu View Shared razem z layoutami. W naszym przykładzie stworzono widok partial dla modelu mieszkania ponieważ będzie się on nam powtarzał wielokrotnie. Nazwany on został z dopiskiem Partial dla rozróżnienia.

Dodając nowy widok zaznaczono, że jest on typu partial i wybrano użycie szablonu Details FlatPartial Uwaga 1. Od tego momentu możemy tego widoku używać dowolnie w widokach. Uwaga 2. Pozostałe widoki dla kontrolera mieszkań też można tworzyć z wyborem szablonu.

Widok flat/index

Widok flat/edit Widoki kontrolera mieszańców wykorzystują widok częściowy mieszkania. Widok Resident/index.!!!Użyto widoku częściowego.

Widok Resident/Edit

Zadanie Rozszerzyć aplikację z poprzednich zajęć. Zaktualizować widoki. Stworzyć widok paginacji w oparciu o layout paginacji bootstrapa. Paginacja ma za zadanie wyświetlać tylko część elementów na liście. Czyli klikając na 2 stronę ma wyświetlić nam od 10 elementów, zaczynać od elementu o indeksie 2x10. Z listy możecie wyłuskać taki fragment przez zapytanie. list.skip(2*10).take(10) http://getbootstrap.com/components/#pagination Dla przypomnienia, aplikacja ma służyć do zarządzania biblioteką. Podstawową funkcjonalnością jest wyświetlanie i dodawanie książek do katalogu oraz dodawanie do nich autorów. Dodatkowo aplikacja powinna pozwalać wyszukiwać i usuwać pozycje z katalogu.