Netmajor's Tech BlogHOMEO mnieKontaktWalidacja zdalna w ASP.NET MVC za pomocą atrybutu Remote W asp.net mvc pojawił się atrybut Remote, który nakładamy na pole z modelu zbindowanego do widoku.
Graficzne oznaczanie wymaganych pól w formularzach ASP.NET MVC 3 za pomocą jQuery.
W ASP.NET MVC domyślnie wszystkie metody publiczne zdefiniowane w klasie kontrolera są tzw. „action methods„, czyli możemy je wykonać podając odpowiedni adres url. Czasami jednak chcielibyśmy, aby jakaś metoda była trochę bardziej ukryta przed światem. W ASP.NET MVC możemy tego dokonać dekorując daną metodę … … atrybutem [NonAction]. Innym przydatnym atrybutem „zmniejszającym widoczność” me...
autor: Ostatnio pokazałem jak dobrać się do typu kontrolera dla dowolnego żądania. Było mi to potrzebne do wykonania zadania, które okazało się dużo bardziej skomplikowane niż początkowo zakładałem. Chciałem mianowicie być w stanie zrobić takie coś: 1: <% if (MVC.Administration.Users.DisableUser().IsUserAuthorized(this.ViewContext.RequestContext)) { %> 2: Disable user 3: <% } %> Czyli: w dowolnym miejscu (w tym przypadku - w widoku) sprawdzić, czy aktualny użytkownik ma uprawnienia do...
ASP MVC 3 jest w dużej części spoko - znajdą się elementy bardzo irytujące, ale ogólnie mogę powiedzieć że jestem z pracy z tym frameworkiem raczej zadowolony. Denerwuje mnie jednak to, że pracując nad jedną daną akcją w jakimś kontrolerze muszę śmigać po kilku plikach: plik kontrolera plik z routingiem plik z modelem parametru akcji plik z modelem zwracanym przez akcję plik z mapowaniami AutoMappera plik widoku .cshtml plik skryptów .js ... o czymś zapomniałem? Jakiś czas temu postanowiłem wypróbować...
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:
Bardzo fajną sprawą w MVC jest możliwość generowania atrybutów elementów za pomocą anonimowego typu.
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.
Od pewnego czasu siedzę nad wewnętrznym projektem dla Softio. Na potrzeby klienta, a także własne muszę napisać system CMS posiadający elementy e-Commerce. Zależy mi na prostocie, ale także to co jest ważne to to, że będzie to aplikacja ASP.NET MVC. Oznacza to, że tworzenie szablonów dla stron to nic innego jak kolejny View. Wygląd także ma znaczenie :)
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...
Visual Studio jako środowisko programistyczne dostarcza wiele mechanizmów ułatwiających pracę programistom – różnego rodzaju wizardy czy skróty klawiaturowe. Odkąd pracuję nad aplikacją pisaną w ASP.NET MVC, szczególnie podoba mi się możliwość szybkiego przełączania pomiędzy widokiem a powiązanym z nim kontrolerem. Można to uczynić bardzo szybko klikając prawym przyciskiem myszki w ciele metody (kontrolera) b...
Dziś chciałbym pokazać rozwiązanie problemu związanego ze sposobem przechowywania podstawowych informacji o forum np, nazwa, słowa kluczowe.
Internet obfituje w niezliczone stada gridów dla jQuery. Przemierzają wirtualne pastwiska, żywią się wszelkimi danymi i kpiąco mrużą skryptowe ślepia, ponieważ doskonale wiedzą, że jest ich ZBYT wiele. Wybrać jeden konkretny - i jeszcze sensownie uzasadnić swój wybór - wcale nie jest prosto. Kilka miesięcy temu zostałem zmuszony do poświęcenia 2-3 godzin na analizę dostępnych ścieżek i zdecydowałem się na DataTables. Sensownego uzasadnienia nie posiadam:) - nie pamiętam już nawet dokładnego procesu wybo...
Routing ASP.NET MVC może zrobić sporo zamieszania, jeśli w naszej aplikacji korzystamy z zaawansowanego sterowania pomiędzy kontrolerami i odpowiadającymi im widokami. Dla dużych aplikacji (w obecnej chwili pracuję nad taką, która posiada ponad 120 kontrolerów – i nie ma tu problemów z refaktoryzacją) odpowiednie pokierowanie przepływem żądań to całkiem skomplikowany problem. Są dwie metody debugowania ścieżek:Metoda empiryczna, czyli zmieniamy tabelę ścieżek, klikamy F5, po czym zamykamy oczy. Za pomocą...
Aplikacja internetowa czy zwykła strona internetowa nie może obyć się bez określonego tytułu strony. Poniżej zamieszczam prosty przykład jak można selektywnie określać tytuł strony z poziomu kontrolera.
Przechowywanie obiektów w sesji nie jest ogólnie wskazane ze względu na szybkość działania strony (poza typem InProc) jak i ulotność miejsca składowania (InProc). Mimo wszystko czasami trzeba. Aby ułatwić sobie pracę z obiektem sesji napisałem kilka pomocniczych metod rozszerzających możliwości HttpSessionStateBase. Bardzo często zdarzają się przypadki przechowania czegoś na chwilę w kontekści...
Poprawne widoki w projekcie asp.net mvc nie powinny posiadać plików codebehind. Ponadto nie powinny posiadać żadnej logiki. Mają służyć jedynie prezentacji/wizualizacji danych oraz zbierania informacji, które będą przesyłane do kontrolera. W związku z tym całe ustrojstowo typu auto-zdarzenia (znane z WebForms'ów), viewstate'y, czy nawet dostęp do obiektu sesji powinno być wyłączone/zablokowane. Wybra...
Postanowiłem spisać technologie, biblioteki, które używam w pracy z projektami ASP.NET MVC, ewentualnie “nowinki”, które zostały przetestowane w boju, ale ze względu na silną obsadę czekają na lepsze czasy i napewdno niedługo zostaną przeze mnie ponownie użyte. Oto one, zaczynająć od "pierwszego składu": ArchitekturaS#arp Architecture: podstawowy stack, który zawiera w sobie wszystko to, co potrzebne jest do stworzenia aplikacji ASP.NET MVC. Korzysta z Castle.Windsor co podmieniam na Ninject.NHibernate,...
Jednym z największych problemów w aplikacjach internetowych jest podwójne przesłanie danych za pomocą metody POST na szczęście prawidłowo korzystając z mechanizmów ASP.NET MVC można się przed tym obronić – ale o tym za chwilę. Na początek krótkie wyjaśnienie tego w czy cały problem.
Phil Haack poinformował, że ASP.NET MVC 2.0 w wersji Beta jest już dostępny. Ważniejsze jednak jest to, że wersja ta posiada odpowiedni zapis w licencji pozwalający na używanie ASP.NET MVC 2 w aplikacjach używanych produkcyjnie.