Od jakiegoś czasu zgłębiam temat "chained routes" w ASP.NET MVC (wpisy tutaj i tutaj). Wykombinowałem sobie, że będę organizował trasy w łańcuchy (Trasa rodzic > Trasa dziecko > Trasa dziecko dziecka > itd.). Takie podejście pozwoliło mi uprościć do minimum nawigację wsteczną pomiędzy stronami oraz prawie z marszu rozwiązało problemy związane z zaznaczaniem aktywnego elementu menu, generowaniem breadcrumb'a czy mapy strony. W tym wpisie zajmę się generow...
Po wyrzuceniu z siebie szkicu interfejsu użytkownika (w postaci 2 obrazków =) zacząłem myśleć o organizacji kontrolerów i routingu. Standardowa trasa {controller}/{action}/{id} ma charakter czysto dydaktyczny. W przypadku prawdziwych aplikacji routing trzeba zbudować od podstaw. Nie będę opisywał co to jest trasa, jak działa, czy jaką powinna mieć budowę. Zamiast tego spróbuję rozwiązać problem...
Od dłuższego czasu Microsoft udostępnia kontrolkę do generowania różnego rodzaju wykresów. Możliwości kontrolki są naprawdę bardzo duże. Dzięki niej można wygenerować naprawdę ładne wykresy. Jak wiadomo w aplikacji MVC kontrolka ta nie zadziała w taki sam sposób jak w aplikacji WebFormsowej. Tu nie można zwyczajnie położyć kontrolki na formie, gdyż wymaga ona PostBack'a. Musimy stworzyć obiekt samemu i g...
W każdej trochę bardziej rozbudowanej aplikacji istnieje potrzeba wykonania pewnych zadań konfiguracyjnych podczas startu tejże aplikacji. W projektach opartych na asp.net mvc musimy skonfigurować routing, ModelBinder’y, ControllerFactory, NHibernat’a, automapper’a itd.
Jak pisałem wczoraj, zabrałem się za utworzenie tzw. mapy strony. Jest to nic innego, jak zdefiniowana w pliku XML struktura całej aplikacji. Dzięki niej jesteśmy w stanie m.in. generować automatycznie menu, czy też – co mnie interesowało – utworzyć prosty nawigator informujący użytkownika, gdzie aktualnie się znajduje. Fachowo określane jest to mianem okruszków chleba (fajna nazwa), czy też z angielskiego – breadcrumps. Początkowo myślałem, że jest na to jakaś prosta metoda, gdyż rozwiązanie to jest pow...
Projekt Mscd.codeplex.com (Mini Static Content Delivery) służy do optymalizacji kodu js/css oraz zwiększenia szybkości ładowania strony poprzez zmniejszenie wielkości ładowanego kontentu oraz mniejszej ilości odwołań do serwera (dzięki mechanizmowi paczek). Mscd może pracować jako osobna aplikacja. Dostęp do zgromadzonego kontentu jest wykonywany na osobnej domenie (osobnym adresie ap...
Autor: Jakiś czas temu napisałem krótki wstęp do mechanizmów zwanych kontrolerami. Pora omówić je troszkę szerzej, gdyż zacząłem wdrażać w projekt tzw. operacje CRUD (ang. Create, Read, Update, Delete), a do ich zrozumienia niezbędna jest większa wiedza dotycząca klasy Controller.
Podczas zapoznawania się z ASP.NET .oraz MVC2 trafiłem na coś, co jest bardzo denerwujące. Mianowicie strony aspx nie są kompilowane podczas kompilacji samego projektu. Jaki jest tego skutek? Dodatkowa robota w poszukiwaniu błędów wynikających z literówek. A zatem zobaczmy zmienić ten żmudny proces poprzez włączenie w visual studio sprawdzania widoków podczas build'a.
Utworzenie własnego atrybutu walidacji danych jest w ASP.NET MVC niezwykle banalne, szczególnie jeśli dziedziczymy z jakiegoś już istniejącego...
Pisząc aplikację w ASP.NET MVC na pewno będziemy borykać się z problemem sposobu przechowywania głównego menu jakie powinno zostać wyświetlone użytkownikowi. Jeżeli opieramy działanie na uniwersalnym menu to oczywiście najlepiej wpisać je w master page i zapomnieć o całej sprawie. Najczęściej jednak użytkownicy mają różne prawa/role, co często ciągnie za sobą brak autoryzacji do pewnych funkcjonalności. Wylądowaliśmy zatem w sytuacji gdzie w zależności praw dostępu użytkownika powinniśmy wygenerować mu i...
Metoda UpdateModel jest metodą dostępną w klasie kontrolera, która w automagiczny sposób przepisze wartości przesłane z formularza do naszego obiektu modelu. Niestety przepisze wszystkie jakie tylko zostały przesłane. A co jeśli nie chcemy przepisywać wszystkich? Wystarczy podać listę dopuszczonych wartości do przepisywania. Niestety lista ta to nic innego jak array stringów. Poniżej prezentuję kawałek kodu, który ...
Po wyjściu finalnej wersji ASP .NET MVC 1.0 zabrałem się ostro do nauki nowej platformy. Już wcześniej oglądałem kilka webcastów z strony www.asp.net oraz śledziłem uważnie blog Scott Guthrie dotyczących MVC i raczej nie spodziewałem się niczego nowego. Właściwie jedyną rzeczą która od razu rzuciła mi się jednak w oczy po wyjściu wersji finalnej był brak plików codebehind dla widoków. Na początku nie potrafiłem zrozumieć dlaczego coś, co używałem od...
ASP.NET MVC 1.0 z pudełka oferuje następujące typy dla wykonywanych akcji na kontrolerze: ContentResult - reprezentuje tekst, ale można podać także typ kontentu, który zostanie wysłany w nagłówku jako 'content-type' EmptyResult - reprezentuje pusty kontent, tzn. na wyjściu nie będzie wysłany żaden znak FileResult - klasa typu abstract dla ...
Mini Content Static Delivery, czyli Mscd powstał z potrzeby uruchomienia projektu ASP.NET MVC na Windows Server 2003 i IIS6. Jak wiadomo uruchomienie takiej aplikacji na IIS6 niesie za sobą kilka niedogodności związanych z obsługą dostarczania kontentu statycznego. Wiedziałem, że serwis musi działać optymalnie, więc zacząłem drążyć temat. Pierwszy link na który sie natknąłem (post Omara Al Zabira) pokazywał rozwiązanie ja...
Strona domowa projektu: http://mvcmembership.codeplex.com/ Typ projektu: Biblioteki + kod źródłowy do bezpośredniego użycia + kod widoków Status projektu: Stable – 07.08.2009, następny release przewidywany dla ASP.NET MVC 2.0 (Preview 1/2) Zakres projektu: kontrolek i widoki w postaci platformy do zarządzania użytkownikami MembershipProvider i RoleProvider Platforma: ASP.NET MVC 1.0, ASP.NET MVC 2.0
ASP.NET MVC i Unity Nadeszła wiekopomna chwila – ASP.NET MVC już od jakiegoś czasu egzystuje jako oficjalny produkt, więc oto najwyższa pora na zapoznanie się z nim. Cierpliwie przeczekałem wszystkie ochy i achy, pokonałem chęć bycia "trendy";) i zabieram się za to dopiero teraz. Na pierwszy ogień poszło wpasowanie w cały mechanizm kontenera Dependency Injection tak, aby kontrolery brały się właśnie z niego. Wklejenie gotowych kilku linijek kodu byłoby dość nudne, więc postanowiłem tym razem przedstawić ...
Screencast omawiający podstawy technologii ASP.NET MVC 1.0
O aferze z Oxite było głośno jakiś czas temu. Microsoft wypuścił Oxite jako implementację przykładową przy użyciu asp .net mvc. Niestety aplikacja została bardzo ostro skrytykowana przez środowisko. Teraz tym razem zdecydowano się wypuścić aplikację pokazującą jak budować serwisy typu web 2.0 przy pomocy ASP .NET MVC. Projekt nazwano KOBE. ...
Bartek na swoim blogu opisuje prosty i skuteczny sposob lokalizowania stworzonych już, nieprzygotowanych do tego aplikacji ASP.NET MVC
Dariusz na swoim blogu pokazuje jak poprawić ASP.NET MVC, by współpracowało z SharpArchitecture. Przy okazji warto wspomniec o projekcie MVCContrib, który jest prowadzony przez community i uzupełnia MVC o potrzebne aspekty.