ASP MVC tagged posts

Poprawna walidacja wartości dziesiętnych dla przecinka („,”) i kropki („.”) równocześnie.

Piszesz aplikacje (ASP MVC) która ma pola finansowe. Na pytanie jak w jaki sposób chcecie oddzielać część dziesiętną, otrzymujesz odpowiedz że przy pomocy przecinka oraz kropki. Odpowiedz budzi pewien niepokój, ponieważ standardowy mechanizm wiązania sobie nie poradzi. Wiec trzeba go nieco ulepszyć.

DecimalModelBinder:

Read More

Bootstrap – komunikat notyfikujący

Na stronie http://blogs.taiga.nl/martijn/2011/05/03/keep-your-users-informed-with-asp-net-mvc/ znajduje się prosty mechanizm notyfikacji. Graficznie wykorzystuje, elementy znajdujące się w JQuery. Ale można to zmienić rozbudowując funkcje displayMessage:

Read More

ASP MVC Asynchroniczne Akcje

W Visual Studio 2012 zostały wprowadzone dwa nowe słowa kluczowe: async i await. Modyfikator async stwierdza, że metoda jest asynchroniczna, natomiast await służy do wywołania takiej metody. Drobnej modyfikacji wymaga też typ zwrotny, a dokładniej wymaga dodania typu Task.
Przed przedstawieniem pierwszego przykładu odpowiem jeszcze, po co stosować metody asynchroniczne? Odpowiedz jest prosta – ułatwiają one programowanie współbieżne/wielowątkowe.
Opisywany przykład opiera się na aplikacji ASP MVC. Porównałem w niej szybkość działania akcji synchronicznych i asynchronicznych. Aplikacja służy do pobierania temperatury dla zadanego miasta od trzech dostawców i obliczeniu średniej. Pierwszym krokiem jest stworzenie nowego projektu typu ASP MVC...

Read More

Atrybut [ChildActionOnly] w ASP MVC

Wczoraj opisywałem atrybut [NonAction]. Do manipulowania dostępnością akcji przez URL można się też posłużyć atrybutem [ChildActionOnly]. Jego działanie jest mniej restrykcyjne, ponieważ dopuszcza on wywołanie takiej akcji, ale tylko przy użyciu helpera RenderAction. Na początek prosta demonstracja, przykładowego, bardzo prostego kontrolera:

Read More

Atrybut [NonAction] w ASP MVC

W ASP MVC wszystkie publiczne metody w kontrolerze są dostępne przez URL np. za pośrednictwem przeglądarki internetowej. Dzieje się tak ponieważ wszystkie publiczne metody są traktowane jako „action methods”. Nie zawsze jest to pożądane zachowanie. Rozwiązaniem tego problemu jest użycie atrybutu [NonAction].

Prostym przykładem może być poniższy kontroler.

Wywołanie tej metody da następujący efekt:

NonPublic

Jak widać mamy ...

Read More

Bundling and Minification w ASP MVC 4

Bundling i Minification to dwie techniki które można użyć w ASP MVC 4 w celu poprawy czasu ładowania stron. Bundling i Minification poprawia czas ładowania przez zmniejszenie liczby żądań do serwera i zmniejszenie rozmiaru wymaganych składników (takich jak CSS i JavaScript.)

We wcześniejszych wersjach obydwie techniki można było zaimplementować używając zewnętrznych bibliotek. Wbudowane rozwiązanie rozwiązuje ten problem i spełnia swoje zadania w bardzo dobry sposób. Poniższy rysunek to okno programu Firebug przedstawiające sporą liczbę odwołań do serwera.

bim

Aby zredukować liczbę odwołań do serwera, należy skorzystać z mechanizmu Bundling który ułatwia łączenie wielu plików w jeden pakiet. Można tworzyć pakiety CSS, JavaScript i inne...

Read More

MvcPaging i szablon dla Zurb Foundation

Istnieje kilka popularnych bibliotek do paginacji dla ASP MVC. Jedna z moich ulubionych to MvcPaging której autorem jest Martijn Boland.

W wersji 2.0 tej biblioteki pojawiło się kilka nowych metod. Jedną z nich jest DisplayTemplate. Której argumentem jest szablon. W demie zamieszonym na tej stronie Martijn zbudował szablon dla Twitter Bootstrap i jak widać efekt jest bardzo dobry.

Martijn nie zatroszczył się o szablon dla Zurb Foundation. Oba frameworki są do siebie bardzo podobne, więc postanowiłem dostosować istniejące rozwiązanie dla moich potrzeb. Okazało się że jedynym elementem który należało dodać to nowy szablon, który zaimplementowałem na podstawie istniejącego (w demie Martija Views\Shared\BootstrapPagination.cshtml). Kod tego szablonu to:

Read More