Oznaczenie wymaganych pól w formularzach (ASP.NET MVC 3)

Po dłuższej przerwie spowodowanej napiętym grafikiem pracy, zacznę od szybkiej notki na temat oznaczania wymaganych pól w formularzach za pomocą gwiazdki, gdy korzystamy z ASP.NET MVC 3.

Walidacja w ASP.NET MVC 3

Aktualnie walidacja po stronie klienta w ASP.NET MVC 3 opiera się o stosowanie atrybutu wprowadzonego w HTML5 o nazwie data-*, np. wygenerowane pole imię z etykietą, które jest wymagane oraz ma ograniczenie do 50 znaków wygląda tak: Czytaj więcej »

Dodatkowe kontrolki dla Telerik RadDataForm

W ostatnim artykule pokazałem jak rozszerzyć kontrolki typu DataFormXXXField używane w kontrolce RadDataForm. W tym tekście zademonstruje kilka przykładowych kontrolek. Kod wszystkich kontrolek jest załączony na końcu artykułu. Czytaj więcej »

Rozszerzanie kontrolek DataFormXXXField w Telerik RadDataForm

Pracując nad aplikacjami, które korzystają z formularzy Telerika (RadDataForm) często dochodzi do sytuacji, że jakaś kontrolka przeznaczony do umieszczenia na formularzu nie posiada wszystkich własności kontrolki “oryginalnej”, np. RadDatePicker posiada własność InputMode, za pomocą, której możemy ustawić tryb wprowadzania, czyli możemy ustawić wprowadzanie samej daty, godziny lub daty i godziny. Natomiast wersja do użycia w RadDataForm, czyli DataFormDateField nie posiada tej własności i pozwala tylko wyświetlanie i wprowadzanie samej daty. Czytaj więcej »

Enterprise Library 5.0 Silverlight Integration Pack – Logowanie

Większość osób programujących w Silverlighcie napotkało się na problem z logowaniem zdarzeń/błędów. W tym poście chciałbym przedstawić blok Logging biblioteki Enterprise Library dla Silverlighta. Na wstępie chciałbym zaznaczyć, że użycie Enterprise Library w projekcie nie zmusza do używania biblioteki Unity w całym projekcie, jak również nie wymaga użycia bloku Logging po stronie projektu webowego. W poniższym poście zademonstruje jak stworzyć własną usługę WCF dla zbierania zdarzeń od klientów, którą możemy użyć do logowania błędów za pomocą dowolnej biblioteki lub logować błędy w dowolny inny sposób, np. do bazy danych. Czytaj więcej »

Generowanie miniaturek o stałej wielkości

Często tworząc aplikację, która musi wyświetlać obrazki wybrane przez użytkownika stajemy przed problemem związanym z różnymi proporcjami zdjęć, a co za tym idzie różną wielkością wygenerowanych miniaturek, które trzeba później odpowiednio “pozycjonować” za pomocą styli CSS. Rozwiązaniem tego problemu jest generowanie miniaturek stałej wielkości. Czytaj więcej »

JustMock, czyli proste testowanie zależności zewnętrznych

Dzisiaj chciałbym przedstawić działanie narzędzia do mockowania Telerik JustMock. Dostępne są dwie wersje tego narzędzia: darmowa JustMock Free Edition oraz komercyjna, pełne porównanie można znaleźć tutaj: http://www.telerik.com/products/mocking/free.aspx. Główną motywacją do napisania tego postu było to, że czytając posta Macieja Aniserowicza (oczywiście polecam Macieja serię postów o testowaniu: http://www.maciejaniserowicz.com/post/2011/08/08/UT-0-Zapowiedz-minicyklu-o-testach.aspx) zauważyłem w komentarzach, że wiele osób nie do końca rozumie co mockować w testach. Czytaj więcej »

Logowanie parametrów wywoływanych metod z użyciem MEF, Castle, Json.NET i NLog

Analizując problem z działaniem aplikacji w środowisku produkcyjnym, czasami przydałoby się mieć możliwość sprawdzanie jakie argumenty są przesyłane do wywoływanych metod, zwłaszcza, w przypadku aplikacji desktopowych, gdzie nie mamy dostępu do pełnego zbioru danych, na którym pracuje użytkownik i musimy opierać się jedynie na informacjach zawartych w logach. Rozwiązaniem tego problemu jest dołączenie interceptora do kontenera IoC, który przy wywołaniu metody zapisywałby informacje o przesłanych argumentach. Jednak należy pamiętać, że zapisywanie tych informacji dla każdej metody jest dość kosztowne pod względem czasu wykonania takiego kodu i należy nałożyć odpowiednie instrukcje warunkowe, dzięki, którym kod logowania argumentów będzie uruchamiany tylko dla odpowiedniego poziomu logowania. Czytaj więcej »

MEF obsługuje typy generyczne!

Tak, MEF obsługuje typy generyczne, jednak należy dodać referencje do pakietu MEF Contrib (http://mefcontrib.codeplex.com/), pakiet jest dostępny również poprzez NuGet. Po przejrzeniu kilku artykułów, które znalazłem okazało się, że są nie aktualne. W większości z nich była wykorzystywana klasa GenericContractTypeMapping, z której dziedziczyły klasy rejestrujące typy generyczne, jednak w aktualnej wersji MEF Contrib (1.1) klasa została opatrzona modyfikatorem sealed uniemożliwiając tym samym dziedziczenia. Czytaj więcej »

jQuery i google maps, czyli proste wstawianie mapy google

Ostatnio szukając ciekawych wtyczek do JQuery napotkałem na wtyczkę GMAP3 (http://gmap3.net/), która umożliwia dosłownie za pomocą jednej linijki wstawić mapę google na stronie. Natomiast po dodaniu kilku parametrów do funkcji możemy wstawić mapę z zaznaczonymi punktami. Czytaj więcej »

Expression Blend, WPF i błędy w XAML

Ostatnio próbując otworzyć jeden z plików XAML projektu WPF w Expression Blend napotkałem na dziwny błąd: „UserControl is not supported in a Windows Presentation Foundation (WPF) project.”. W pierwszej chwili myślałem, że wystarczy przebudować projekt w Blendzie, ale nic to nie dało. Czytaj więcej »