Prace nad projektem rozpocznę od usunięcia wszystkich metod z kontrolera Home, oraz usunięcia wszystkich widoków które zostały dla niego stworzone. Teraz z takim czystym projektem mogę rzeźbić swoją rzeczywistość. Zacznę od utworzenia prostej metody Index, która zwróci tylko i wyłącznie widok: Następnie wyklikam dodanie nowego widoku do mojego projektu: Ponieważ nie chce na razie przesyłać danych na ten widok (niżej), oraz nie chce korzystać ze wspólnych layoutów (później). W...
Pobieranie danych z excela i wyświetlenie ich na stronie internetowej z podziałem na strony za pośrednictwem Paged List.
Sztuka programowania 3007 dni, 5 godzin, 16 minut temu 195 źrodło rozwiń
Zaczynając swoją przygodę z ASP.NET MVC (oraz w ogóle z programowaniem) miałem sporo problemów z utrzymaniem porządku w moich akcjach na kontrolerach. Bardzo często pojawiało się tam mnóstwo warunków i niepotrzebnej logiki. Ten problem trzeba było sensownie rozwiązać, więc z kolegami wypracowaliśmy sobie pewną konwencję, której twardo się trzymaliśmy...
In this post I will try to introduce the concept of validation using the Chain of Responsibility pattern (CoR), which I use successfull for years
Sztuka programowania 3130 dni, 9 godzin temu 231 źrodło rozwiń
Wysyłanie maili, aktualizowanie bazy danych, sprawdzaniem spójności danych, aktualizacje wpisów, boty, sztuczny ruch, te inne rzeczy można robić w tle naszej aplikacji, nie mówię że to najlepszy sposób – trzeba uważać na słówka. Jak to robić dobrze? Na pewno nie odpalałbym osobnego wątku z aplikacji. Poszukałem i znalazłem u Hanselmana, mówiłem wam że mam z nim zdjęcie? Na blogu Scota jest taki wpis: http://www.hanselman.com/blog/HowToRunBackgroundTasksInASPNET.asp...
Daj się poznać 2016 3134 dni, 9 godzin temu 150 źrodło rozwiń
Czasem dostępność java skryptu powoduje, że w zapomnienie mogą odejść pewne funkcjonalności MVC. W moim przypadku było tak gdy chciałem wyświetlać zawartość kanału z wiadomościami. Klik na kanale, a w tle myk-myk leci ajax i wracają wiadomości. Zrobiłem pewne zmiany w kodzie, tak że teraz kliknięcie na kanale powoduje przeładowanie strony i dopiero teraz użytkownikowi pokazują się wiadomości. Co za tym idzie lista kanałów renderowana jest w dwóch miejscach: na głównej liście, ...
Daj się poznać 2016 3149 dni, 20 godzin, 39 minut temu 85 źrodło rozwiń
MVC jest królem! Z modelu, przez kontroler, do widoku! Mówili. Słuchaliśmy. Polegliśmy. Niezależnie od wykorzystywanej technologii czy frameworka: jeżeli “dziubiesz webówki” to prawdopodobnie działasz w MVC. I to “C” może reprezentować różne pojęcia. Czasami jest to Controller, czasami Module, czasami coś jeszcze innego.
Sztuka programowania 3151 dni, 9 godzin, 11 minut temu 263 źrodło rozwiń
Nie raz i nie dwa zdarzało mi się mieć potrzebę posiadania więcej niż jednego guzika na formie. Zawsze ale to zawsze miałem problem z tym jak to dobrze rozegrać. Aż wreszcie trafiłem na dobrą odpowiedź na SO.Model i Forma Załóżmy taki model danych, jakiś prosty viewmodel dla użytkownika.: Następnie aby go przesłać z powrotem do kontrolera zdefiniowałem taki model: Typ pola action jest także zdefiniowany. Teraz gdzieś na widoku tworzę formę, która umożliwi mi wpisanie ...
Nigdy nie ciągnęło mnie do logowania. Zawsze miałem problem z określeniem poziomu na jaki zasługiwała dana informacja, a może ostrzeżenie. Czy to błąd, czy to już krytyczny błąd. Jak mam to dobrze zalogować. Czemu te okrutne logi tak strasznie mieszają mi się w aplikacje, wtedy jeszcze nie znałem podejścia AO...
Tworzy się wszystko po angielsku, a przez to nie ma problemów ze znakami "zażółć gęślą jaźń". Ja popełniłem ostatnio małą aplikację, gdzie postanowiłem że cały UI będzie po polsku, ponieważ do takich odbiorców kieruje swój projekt. Skoro jedno języczne to będzie to proste. HTML i opisy po polsku, atrybuty i informacje po polsku. Nic nie zapowiadało małej katastrofy, ale ta nadeszła całkiem szybko...
BezpieczeństwoPiotr ZielińskiLeave a comment Protokół HTTPS jest dzisiaj powszechny na wszystkich stronach z wrażliwymi informacjami. Banki są klasycznym przykładem. HTTPS “gwarantuje”, że dane są przesyłane w szyfrowanej formie, a klient wie, że łączy się z oryginalną stroną. Certyfikat publikowany przez stronę jest gwarantem, że korzystamy właśnie z tej aplikacji, z której zamierzaliśmy. W najprostszej postaci wygląda to zatem następująco: Tego przynajmniej spodziewamy się… Problem w tym, że czasam...
Czasami w widoku wywołujemy funkcję JavaScript z parametrami, które są przekazane za pomocą ViewModel z kontrolera. Załóżmy, że nasza metoda w kontrolerze wygląda następująco...
W ostatnim wpisie wspomniałem, że Web.Config został usunięty i zastąpiony project.json. Pokazałem, jak dodać referencje czy skonfigurować wersję framework’a. Web.Config jednak zawierał jeszcze jedną ważną sekcję – AppSettings. ASP.NET 5 wspiera różne typy plików konfiguracyjnych – JSON, INI oraz XML. Możemy wszystkie je dodać jednocześnie do solucji i nie spowoduje to konfliktów. Nie jesteśmy ograniczeni tylko do jednego typu czy pojedynczego pliku konfiguracyjnego. Dla testów, dodajmy 3 pliki, każdy w...
O nowościach w MVC 6.0 pisałem już np. tutaj (...) Moim zdaniem, największe zmiany jednak mają miejsce w infrastrukturze i architekturze wewnętrznej ASP.NET. Jedną z tych zmian jest plik project.json, który definiuje wszelkie referencje w projekcie. Tworząc nowy projekt, project.json będzie wyglądać następująco...
W dwóch postach poruszałem już temat dokumentacji usług REST. Ręczne tworzenie plików JSON dla swagger jest dosyć czasochłonne i łatwo potem zapomnieć przy jakiś modyfikacjach o aktualizacji dokumentacji. Dla ASP.NET MVC WebAPI na szczęście jest Swashbuckle.
ASP.NET MVC 6 supports both regular controllers (inheriting from Controller base type) and POCO controllers. Let’s have a look at how the discovery of them happens in ASP.NET MVC 6. Note that the code and mechanisms discussed in this article were introduced after ASP.NET 5 beta3 was released, so it is not yet available if you use the version of ASP.NET 5 bundled with Visual Studio 2015 CTP6.
Architektura 3537 dni, 19 godzin, 16 minut temu 185 źrodło rozwiń
OObsługa błędów nigdy nie była łatwym zadaniem, ale w większości przypadków zawsze wiedziałem z czego mogę skorzystać. Myślałem że z ASP.NET MVC będzie podobnie, a może nawet lepiej (w końcu jest to dosyć dobrze przemyślana platforma, co wielokrotnie już podkreślałem na blogu) i po części tak jest w istocie - mamy tu wręcz nadmiar możliwości...
Sztuka programowania 3553 dni, 9 godzin, 56 minut temu 398 źrodło rozwiń
Ostatnio napotkałem dosyć nieciekawą sytuację podczas integracji ścieżki do folderu znajdującego się na Sharepoint przy użyciu WebDav. Chodziło o to, że po restarcie serwera traciłem uprawnienia do katalogu, przez co w aplikacji webowej nie wyświetlały się elementy z tej ścieżki...
Programując internety gdy wysyła się jakieś żądanie na serwer nie można założyć, że poleceni się po prostu wykona. Operacja void nie istnieje. Tzn można, ale to zła praktyka, można przecież wysłać żądanie i nie sprawdzić czy w ogóle doszło ono na serwer. Ale nie o to chodzi, mój przypadek polegał na tym, że wysyłać na serwer żądanie i chciałem tylko sprawdzić czy serwer to dostał czy nie. W moim przypadku wynik w ogóle nie był ważny. Naiwnie pomyślałem sobie, że wystarczy zwrócić (oczywiście w .net asp m...
Od jakiegoś czasu pracuje za prawdziwe złoto jako sieciowy programista, dawno nikt nie wymagał aby po przekierowaniu wrócić do jakiegoś specyficznego kawałka strony. Zawsze kończyło się przekierowaniem do pełnej. Zapomniałem już o takiej funkcjonalność, no prawie zapomniałem. Otóż klepiąc sobie coś tam w domu, chciałem po zrobieniu POSTa wrócić gdzieś na dół strony, akcja nie korzysta ze zdobyczy technologi jaką jest AJAX, więc strona się przeładowywuje. Pozostało mi tylko skorzystanie z elementu html, k...