IIS Express jest nowym, developerskim serwerem www mającym zastąpić aktualnie „wbudowanego” w Visual Studio Cassiniego. IIS Express, w porównaniu to Cassiniego, jest o wiele bardziej wydajny oraz oferuje więcej możliwości konfiguracji (np. uruchomienie aplikacji na https). Aktualnie nowy serwer instaluje się razem z WebMatrixem (od wersji beta 3 instaluje się już jako osobna aplikacja). Finalna wersja serwera IIS Express będzie w pełni n...
Podczas pracy nad generowaniem menu w ASP.NET MVC za każdym razem napotykałem na ten sam problem. Zaznaczanie aktywnego elementu menu. Istniejące rozwiązanie jest co najmniej słabe. To ActionFilter, którym należy udekorować metody kontrolera wchodzące w skład menu. Dodatkowo trzeba umieścić trochę if'ów w widoku. Można o tym przeczytać na StackOverflow tutaj i tutaj. Moim zdaniem to niepotrzebne komplikowanie kod zarówno kontrol...
Po długiej przerwie w artykułach dotyczących ASP.NET czas na kolejną część. :) Ostatnio nauczyliśmy się tworzyć własne kontrolki oraz korzystać z gotowych. Dziś pokażę jak połączyć się z bazą i operować na niej za pomocą LINQ.
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 go skonfigurować w kodzie. Na szczęście MSCharts ma zaimplementowane szablony, dzięki czemu w łatwy sp...
ASP.NET pozwala na skorzystanie z pewnych mechanizmów zarządzania użytkownikami oraz ich rolami. O możliwości ich konfiguracji z poziomu strony www pisałem w jednym z moich pierwszych postów na blogu. Tym razem chciałbym przedstawić w jaki sposób uzyskać pożądany efekt dokonując modyfikacji w kodzie. Celem autoryzacji użytkowników jest przekazanie odpowiedniej treści, jedynie wybranym użytkownikom, czyli np. zablokowan...
Jakiś czas temu „odkryłem” bardzo przydatną cząstkę kaskadowych arkuszy stylów, o której istnieniu nie miałem wcześniej pojęcia. Chodzi mi o właściwość white-space zawartą w CSS. Definiuje ona sposób w jaki wyświetlane są białe znaki w sytuacjach, gdy m.in. tekst „wychodzi/wystaje” poza jakiś obszar.
Framework ASP.NET MVC powstał aby m.in. ułatwić testowanie aplikacji. Wszystkich zainteresowanych tematyką zachęcam do przeczytania tego wprowadzenia: http://msdn.microsoft.com/pl-pl/library/gg309141Explore posts in the same categories:ASP .NET, T
Standardowa implementacja fabryki kontrolerów StructureMapControllerFactory może spowodować serię wyjątków zgłaszanych podczas próby utworzenia konkretnego kontrolera dla bieżącego żądania Http. Dzieje się tak dlatego, że domyślna tablica routingu aplikacji nie wyklucza przetwarzania plików statycznych takich jak np. favicon.ico – jest on wykorzystywany w standardowym template dla aplikacji ASP.NET MVC 2. Efekt tego jest taki, że podczas implementacji aplikacji wygenerowanej z tego template otrzymujemy w...
Wróciłem ostatnio do prac nad breadcrumps’ami. Po ostatnich zmianach w kodzie wykorzystywana biblioteka ASP.NET MVC SiteMap provider nadal nie spełniała moich oczekiwań. Postanowiłem zatem nie tracić więcej czasu i całkowicie usunąłem ją z projektu. Mechanizm ścieżek zaimplementowałem po swojemu. Zdaję sobie sprawę, że jest on niesamowcie niepraktyczny i zaprzeczający wszelkim praktykom dobrego kodowania (powtarzanie bloku kodu w każdym z widoków), lecz póki co rozwiązanie to jest wystarczające i, co naj...
Każdy webmaster, który rozpoczyna swoją przygodę z tworzeniem stron od statycznego HTML, szybko przekonuje się, że nie jest to do końca, najlepsze wyjście. O ile w przypadku statycznych stron stworzonych na kształt wizytówek, albo stron stworzonych na specjalną okazję i nie wymagających późniejszej edycji może się sprawdzić (szybkie i tanie rozwiązanie), o tyle w przypadku stron wymagających zmienności w treści, czy też interakcji z użytkownikiem (Web 2.0 i te sprawy..) szybko okazuje się bezużyteczny. W...
W poprzednim wpisie omówiłem kwestię pobierania danych z bazy w kontekście aplikacji ASP.NET MVC 2. Przyszła pora na opisanie tej drugiej, Adobe AIR’owej strony. Pierwszą sprawą jest sposób odwołania się do określonego adresu vebshop‘u, który zwraca dane w formacie JSON. W jaki sposób zrealizować to za pomocą języka ActionScript 3, który wykorzystywany jest w aplikacjach AIR’owych?
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...
Po odpowiednim rozmieszczeniu elementów tworzących layout strony czas na właściwą część, czyli utworzenie menu z kategoriami produktów. Najpierw jednak trochę o samym zagadnieniu tworzenia menu. W toolboxie Visual Studio, w części Navigation, można odnaleźć gotową kontrolkę Menu. Kontrolka ta umożliwia utworzenie menu w oparciu o powiązane dane zawarte w pliku XML – Web.sitemap. Dzi...
Natknąłem się dzisiaj na ciekawe dodatki do ASP.NET MVC 2. Mam tu na myśli Telerik Extensions for ASP.NET MVC. Są one całkowicie darmowe, a żeby móc je ściągnąć wystarczy założyć konto na oficjalnej stronie www.telerik.com. Proces dodawania Telerik Extensions do projektu opisany jest tutaj.
Autor: Aktualnie pracowałem nad projektem UI do mojego forum. W zasadzie takie w miarę proste rozwiązanie już jest gotowe. Wiec postanowiłem zabrać się za implementacje powoli podstawowych widoków. I tutaj pojawił się pierwszy problem. A mianowicie zarządzanie, kompresja i cachowanie plików CSS i JS. Jak że zwykle mamy w projekcie jakieś stałe skrypty(np. jQuery) które są wykorzystywanie przy każdym widoku wypadało by żeby one były cachowane i skompresowane. Wiec zabrałem się za rozwiązanie tego problemu...
Sympatyczne i efektowne wizualnie opracowanie języka HTML 5 znajdziesz na stronie http://joshduck.com/periodic-table.html. To ciekawy pomysł, podręczna ściągawka z podziałem na grupy i odwołaniami do specyfikacji World Wide Web Consortium. Można nawet sprawdzić, jak ma się HTML 5 do konkretnej strony w Internecie, wpisując po prostu adres w polu i klikając przycisk Inspect.
Tytuł wpisu zwiastuje treść i tematykę poważną i podniosłą, jednak bez obaw – poruszana kwestia nie będzie ściśle polityczna czy ekonomiczna, ani daleko odbiegająca od problemów, z którymi zdarza się borykać programistom. Chodzi mianowicie o dostosowanie aplikacji do obowiązujących przepisów, w tym przypadku – stawek procentowych podatku VAT. Kilka dni po mojej decyzji o starcie w ko...
Kolejny post dotyczący podstaw ASP.NET. Tym razem przyszedł czas na omówienie mechanizmu, jakim jest View state. Mechanizm ten jest wykorzystywany do przechowywania informacji, które muszą być podtrzymane pomiędzy kolejnymi postbackami. Informacja o przechowywanych danych jest zawarta w jednym lub więcej polach ukrytych (hidden fields) dołączanych do kodu html strony. Warto podkreślić, że View state przeznaczony je...
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.