Czasami podczas wykonywania kodu może się zdarzyć, że nasz kod się wysypie z tym wyjątkiem. Problem ten występuje kiedy próbujemy się odwołać do atrybutów klas LINQ2SQL po usunięciu z pamięci powiązanego z nimi DataContextu, czyli defakto oderwania obiektów od bazy danych. Podstawową przyczyną tego problemu jest niejawna optymalizacja linq2sql zwana lazy loading. Mechanizm ten zakłada że nie ładowane są wszystkie atrybuty i kolejcjie z bazy a jedynie to co jest potrzebne, na podstawie wyrażeń lambda oraz...
CAPTCHA to akronim od „Completely Automated Public Turing Test to Tell Computers and Humans Apart”. W rozwinięciu: chodzi o obrazek (lub w mojej prostej wersji działanie matematyczne), którego treść (wynik) trzeba wpisać w formularzu, aby przejść dalej. Zaletą tekstowego Captcha jest prostota i przejrzystość rozwiązania. Ostatnio mój blog zac...
W poprzedniej części spowodowaliśmy by generowały się atrybuty walidacyjne dla elementów dynamicznie generowanych. Jednakże mimo ich poprawnego dodawania do elementów, walidacja po stronie klienta nie działała dla dynamicznie dodanych elementów – przy tworzeniu byli to autorzy książki, zaś przy edycji nowi jeszcze nie dodani autorzy. Rozwiązanie byłoby dość banalne, gdyby mi choć raz zadziałało, tak jak wspominał Procent u siebie na blogu, powinno wystarczyć wykonanie następującej linijki:
Jakub Gutkowski: Ostatnio rozmawiałem ze znajomym, który stwierdził, że jeżeli nie wykorzystuje się wbudowanych w MVC 3 klas i metod to robi się coś źle. Nie zgadzam się z tym twierdzeniem, to co jest zajebiste w MVC 3 to to, że dzięki kilku prostym linijkom kodu można rozszerzyć implementację o niezbędną w danej chwili funkcjonalność. W końcu jak powstało RoR? Trochę teorii Z jedną z takich funkcjonalności jest możliwość edycji dynamicznych (dodaj/usuń/edytuj) list – tak by za pomocą jednego submit prz...
Jeżeli w MVC 3 (nie wiem jak w wcześniejszych wersjach), chcecie po operacji submit formularza zaktualizować jakąś wartość w waszym modelu to niezależnie jak byście się wysilali nie uda się wam to. Są dwa wyjścia z sytuacji (przynajmniej mi znane): Wyczyszczenie całego stanu modelu za pomocą metody ModelState.Clear() – wymaga to jednak następnie uzupełnienia wszystkich pól modelu – odświeża to cały model; Wyczyszczenie pojedynczej wartości za pomocą metody ModelState.SetModelValue.
Procent od jakiś dwóch lat pisze jakie fajny jest plugin do jQuery o nazwie DataTables. 3 dni temu w końcu miałem okazję się przekonać, jaki on naprawdę jest fajny! :) Jeżeli jeszcze z niego nie korzystaliście, to zachęcam do zapoznania się z nim. Na stronie dostępne jest wiele przykładów pokazujących co i jak – naprawdę aż dziw bierze, że coś open-source może mieć taką dokumentację.
Testowanie baz danych… a raczej kodu Marzec 31, 2011- autor: dotornot Dziś po oglądnięciu kolejnego świetnego odcinka na CodingTV, postanowiłem napisać aktualny post. Osobiście z niecałym dwuletnim stażem w programowaniu i zerowym doświadczeniem zawodowym (ach, nie mogę się doczekać do 4.04 ), jestem pełen podziwu dla roboty, którą wykonują. Panowie w dzisiejszym odcinku mieli problem z testowaniem baz danych, a raczej dostępu do niej. Ja chcę tutaj przedstawić sposób w jaki ja to robię. ...
Reflector, a jednak się przydał Wykorzystanie aplikacji reflector wraz z asp.net mvc oraz nunit.
W aplikacji którą piszemy musimy zapisywać dane wprowadzone przez użytkownika na formularzu do bazy. Dane można podzielić na ogólne statyczne (adres, opis, itp.) i szczegółowe dynamiczne (lista monitorowanych parametrów i ich wyniki z możliwością dodawania/usuwania/modyfikowania każdego z parametrów wraz z wynikami ze wszystkim dostępnych list). To co biznes interesuje to jedynie dane ogólne zaś dane dynamiczne mogą ulegać notorycznym zmianom, ich śledzenie jest zbędne. Dlatego też by nie męczyć się z m...
Architektura 5014 dni, 4 godziny, 50 minut temu 160 źrodło rozwiń
W ASP.MVC 3 dodano bardzo przyjemną walidację danych po stronie klienta, która nie miesza w htmlu jak Gargamel w wielkim garze pełnym wypatroszonych kwiczących smerfów. Wszystkie dane chowa w atrybutach ("data-*" zgodnych z HTML5), a skrypty wywalone są na zewnątrz. Tak jak powinno być. Zwie się bardzo poważnie: unobtrusive validation.
Niedawno w realizowanym po pracy projekcie przyszło mi zaimplementować funkcjonalność sklepowego koszyka który dostępny był by na każdej stronie tworzonego serwisu. Cała trudność w tym, że jednym z wymagań była możliwość zmieniania liczby zamówionych towarów w dowolnym momencie, bez wpływu na aktualnie przeglądaną zawartość...
Seria wersołych filmików pokazujacych różne aspekty wzorca MVC. Polecam! 1. Controller Obesity The Importance of Tests Keeping Views Stupid Staying RESTful Outdated HTML Modularity Out-takes Tweet this!Zobacz również:ASP.NET MVC – przełączanie widok/kontroler w VisualStudioASP.NET MVC Training KitASP.NET MVC 1.0 wydany!ASP.NET MVC, Na WesołoASP.NET MVC, MVC
Mvc możemy używać na różne, także mniej zgodne z podstawowymi założeniami jego twórców sposoby. Prześledźmy prosty scenariusz polegający na tworzeniu treści wiadomości e-mail na podstawie szablonu html wypełnianego danymi wygenerowanymi przez kontroler.
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...
Autor: Kilka dni temu rozpocząłem prace nad funkcjonalnościami związanymi z zamówieniami produktów. Natrafiłem jednak na pewne trudności związane z odnośnikami. Otóż, w momencie wyświetlenia produktów (kontroler Product) automatycznie tworzone są linki „Kup produkt” dzięki którym za pomocą jednego kliknięcia można przejść do formularza zamówienia. Jednak dodanie zamówienia do bazy obsługiwane jest przez kontroler Order, a nie Product. Zacząłem się zatem zastanawiać, w jaki sposób w widokach odwołać się d...
autor: To co napisałem poniżej to narazie koncept, który w sumie już działa, ale wymaga jeszcze nieco szlifu. Potrzebowałem skomunikować ze sobą dwie aplikacje webowe oparte o MVC. Naczytałem się o WCF i innych sposobach komunikacji poprzez Webservice i zawsze oznaczało to sporej ilości dłubania. Zresztą jak dobrze poszukać to znajdą się opinie, że budowanie osobn...
Dlaczego ASP.NET MVC jest groźne dla Test-driven development’u? A jest? No jest. Co ciekawe wynika to z jego największych zalet...
Można na nowo wynajdywać koło, ale po co?… jeśli ktoś już je wynalazł, czemu go nie wykorzystać? :: MCSF :: MVC :: OpenNETCF.IoC
Model – Vidok – Contoler Struktura MVC polega na podziale pracy aplikacji na trzy segmenty: - Model – dostarcza informacje o danych, na których program będzie pracować, - View – odpowiada za formę, czyli to, co widzi użytkownik, - Controller – realizuje interakcję z użytkownikiem i przepływ danych z Model do View. Tę właśnie strukturę realizuje Microsoft ASP.NET MVC. Przystępne omówienie tej technologii można znaleźć u źródeł.
Autor: Kolejny "kliento-walidacyjno-mvcowy post". Tym razem zmagałem się z niedziałającą walidacją po wpięciu w DOM HTMLa zwróconego z serwera. Akcja kontrolera kończyła się instrukcją: 1: return PartialView(viewName, model) , a wstawianie w odpowiednie miejsce po stronie klienta odbywało się poprzez wywołanie jQuery.html(). Zdziwienie moje było o tyle duże, że kawałek DOMu uzyskiwany przez przeglądarkę najwyraźniej zawierał skrypt odpowiedzialny za walidację (inspected by Firebug).