Standardowo jeśli chcemy przekazać w URLu tablicę w MVC to wysyłamy po prostu wiele wartości o tej samej nazwie, np ?array=1&array=2&array=3. Może się jednak zdarzyć, że przydałoby się to jakoś "skompaktować", na przykład do takiej postaci: ?array=1,2,3. Co wtedy?
Strona głównaUżytkownik
Paweł Łukasik | użytkownik
Możliwości kształtowania wyglądu naszych klas dla łatwiejszego debuggowania są bardzo duże. Poprzednio pokazałem jak można wpływać na to, co nam wyświetli debugger o naszej klasie (DebuggerDisplay) oraz jak można tworzyć własne wizualizery klas (Debugger Visualizers). Teraz czas na ukrywanie składowych (np. prywatnych) naszej klasy, aby nie zaśmiecać sobie podglądu stanu okiektu podczas ...
Nie tak dawno przedstawiłem na spotkaniu Łódzkiej grupy profesjonalistów IT & .NET prezentację poświęconą „Managed Extensibility Framework” (patrz informacja: Prezentacja: "Wprowadzenie do Managed Extensibility Framework w .NET 4.0"). Tych, którzy chcieliby się zapoznać z prezentacją lub kodem źródłowym, który powstał podczas prezentacji, zapraszam do obejrzenia mojej prezentacji umieszczonej na portalu SlideShare
Debuggowanie aplikacji nie jest procesem łatwym ani szybkim. Visual Studio już od dawna przoduje w tej kwestii, ale nadal istnieje szerokie pole do popisu w tej dziedzinie, a przykładem tego jest tytułowy dodatek Debugger Canvas Czym jest Debugger Canvas? Jest dodatkiem do Visual Studio Ultimate, który całkowicie zmienia sposób w jaki walczy się z błędami w kodzie. Postawienie breakpointa nie powoduje już zatrzymania się kodu w danym pliku i otwarcia go na nowej zakładce w VS, ale uruchomienie specjalne...
Ostatnio natknąłem się na pułapkę metody GetHashCode(). Jak wiadomo metoda ta służy do sprawdzenia, czy mamy do czynienia z dwoma tymi samymi obiektami jednej klasy. Cytująć MSDN: "A hash code is a numeric value that is used to identify an object during equality testing" Mój błąd polegał na tym, że wiedząc, że GetH...
W ramach kontynuacji tematu rozpoczętego we wpisie „70-511: Enhancing Usability: Implementacja przetwarzania asynchronicznego (teoria)”, zapraszam do zapoznania się z przykładem kodu źródłowego, który będzie ilustracją do przedstawionej teorii (przykład kodu źródłowego dotyczy implementacji przetwarzania asynchronicznego, ze szczególnym naciskiem na to, jak jest to rozwiązane w WPF).W ramach przykładu zostanie pokazane wykorzystanie BacgroundWorker'a i Dispatcher'a. W przykładzie zostanie wykorzystane ...
W ramach mojego przygotowania do egzaminu 70-511 (Windows Applications Development with Microsoft .NET Framework 4) oraz uczestnictwa w „StudyGroup” organizowanym przez Łódzką Grupę Profesionalistów IT & .NET opracowałem zagadnienia związane z tematem określonym w training kicie jako „Enhancing Usability”. Z moimi czytelnikami chciałbym podzielić się moimi opracowaniami. W tym wpisie będzie o implementacji przetwarzania asynchronicznego, ze szczególnym naciskiem na to, jak jest to rozwiązane w WPF.P...
Przez ostatnie dwa dni pracowałem nad projektem, w którym przy pomocy biblioteki iTextSharp generowałem dokumenty PDF z szablonu (pustego dokumentu PDF) i programowo wypełniałem pola formularzy. Jak to zwykle bywa w przypadku języka polskiego pojawiły się problemy z kodowaniem znaków w tekście wprowadzanym do formularzy. Jak się okazało czcionka zastosowana w formularzu niestety nie obsługuje odpowiedniego kodowania, ...
Typowa, prosta klasa Person. Cztery propercje i konstruktor. Gdy w dowolnym miejscu programu zostanie utworzona instancja klasy Person, a następnie debuggerem zatrzyma się wykonywanie kodu, można sprawdzić stan naszego obiektu. Nagłówek obiektu wyświetla nazwę klasy, a jego rozwinięcie wyświetli poszczególne składowe i ich wartości. Podobny efekt jest widoczny jeśli utworzy się kolekcję obiektów P...
Niedawno oglądałem nagranie z sesji Advanced Debugging with Visual Studio 2010, która prowadził Ingo Rammer. Bardzo fajna sesja, świetnie prowadzona. Pojawiły się na niej ciekawe informacje, które pozwalają ułatwić i urozmaicić sobie sesje w debuggerze Visual Studio. Zainspirowany tematem, postanowiłem na własnej skórze przetestować pokazywane rozwiązania. Poprzednio pokazywałem jak można manipulować wyświetlaniem ...
Pracując z WPFem/XAMLem wielokrotnie natrafiałem na kod tego typu (bindowanie ViewModel do DataContext): Jest to dość wygodne rozwiązanie w małych i średnich aplikacjach nie wykorzystujących zaawansowanych wzorców prezentacyjnych (MVP, MVVM itp). Jednak ma ono jedną, podstawową wadę. Specyfika XAML’a wymusza istnienie bezparametrowego konstruktora w WindowViewModel, przy użyciu którego będzie tworzony obiekt przypinany do DataContext. Tworzenie obiektów w XAM...
Dawno, dawno temu dowiedziałem się z bloga Tibora Karasziego (SQL Server MVP), że optymalizator może wykorzystać obiekty constraint, takie jak CHECK czy FOREIGN KEY (klucz obcy) do optymalizacji określonych klas zapytań. Jakiś czas temu próbowałem pokazać koledze z firmy, jak to działa i przy okazji dowiedziałem się ciekawej rzeczy, na którą dotąd nie natrafił...
Bazy danych i XML 4947 dni, 7 godzin, 15 minut temu 167 źrodło rozwiń
Tak mnie wzięło na wzorce projektowe ostatnimi czasy, dzisiaj coś o o odwiedzającym (wizytatorze). Polska Wikipedia mówi o nim tak odwiedzający.
Architektura 4947 dni, 7 godzin, 15 minut temu 275 źrodło rozwiń
Swojego czasu Ayende na blogu opisał dwa interfejsy, który umożliwiają w NH zrobienie prostego audytu. Interfejsy (IPreUpdateEventListener i IPreInsertEventListener) umożliwiają wstrzyknięcie pewnej operacji tuż przed wstawieniem jak i aktualizacją obiektu – idealne miejsce dla wstawienia daty aktualizacji i modyfikacji.
Architektura 4947 dni, 22 godziny, 33 minuty temu 114 źrodło rozwiń
jQuery UI dialog umieszczony w aplikacji ASP.NET nie zawsze zachowuje się dobrze. Jeśli wewnątrz warstwy, która pojawia się jako zawartość dialogu, jest jakaś kontrolka serwerowa (taka jak TextBox), to po PostBacku jej wartość się czyści. Ten człowiek znalazł na to sposób:
MVC 3 jest fajne, nie jest idealne, ale jest bardzo dobre i można za pomocą jego stworzyć niesamowite rzeczy. Jednak mimo wszystko, MS zawsze potrafi pewne rzeczy utrudnić jak nie wiem co. W szczególności z jego ulubionym typem widoczności internal, który uważa chyba za święty nawet w aplikacjach open-source. Jednym z takich ich fopa moim zdaniem jest EditorFor, niby fajny, niby wystarczający, ale wystarczy, że chcemy dać inną klasę by wyróżnić dany element i już trzeba tworzyć EditorTemplate, a mnie to...
Przyszła pora wrócić do tematu aplikacji wielojęzycznych. Tym razem skupię się na WinForms. Zacznę od tego, że część rzeczy, o których pisałem we wcześniejszym poście na temat aplikacji ASP.NET można zastosować do innych technologii, w szczególności do WinForms. Dla przypomnienia: Jeśli chcemy aby nasza aplikacja miała wiele wersji językowych to przygotowujmy się do tego od pierwszej linijki tej aplikacji.Stałe znakowe w kodzie są złe, bardzo złe, niewyobrażalnie złe... Stałe zawierając...
Czwarta już część cyklu o Rx. Tym razem przyszła kolej na obróbkę danych z akcelerometru telefonu z systemem WP7.
Mobile development 4956 dni, 9 godzin, 26 minut temu 102 źrodło rozwiń
autor: W ostatnim postcie wspomniałem o trzeciej możliwości walidowania pól po stronie klienta: Nierobienie nic i przeciążenie zdarzenia submit, tak by wykonać raz (nie licząc pierwszego wymuszonego przez unobtrusive validation) parsowanie Może się zastanawiać ale po co mamy to przeciążać, tylko ze względu na te kilka dynamicznych pól? TAK :) (odpowiedź na to pytanie na końcu postu) oraz dlatego, że domyślna walidacja zwraca false, czyli blokuje jakiekolwiek akcje dalej. Jeżeli zostanie ona wykonana ...
20maj/110Zaginiona metoda Main()? Tworząc aplikację WPF czasami zachodzi potrzeba napisania własnej metody Main(). Przeglądając pliki znajdujące się w solucji można natknąć się pliki *.xaml i powiązanie z nimi *.xaml.cs oraz pliki kodu *.cs. Dopóki nie trzeba zrobić czegoś nie standardowego to często nie ma potrzeby, aby zagłębiać się w różnego rodzaju mechanizmy. Takim mechanizmem może być start aplikacji WPF. Ostatnio potrzebowałem dodać własną metodę Main(). Sądziłem, że będzie to proste – nowa klasa ...