asp.net-mvc
MVC vs formularze internetowe
Szukaj…
Wprowadzenie
Zanim wskoczysz do ASP. NET MVC, aby opracować aplikację internetową, powinieneś wziąć pod uwagę zalety i wady tego frameworka i powinieneś wiedzieć, że istnieje inna framuga internetowa stworzona i utrzymywana przez Microsoft, czyli ASP .NET Web Forms.
Który wybrać, to kwestia znajomości obu technologii.
Składnia
Aparat ASPX View Engine używa „<% =%>” lub „<%:%>” do renderowania treści po stronie serwera.
Razor View Engine używa @ do renderowania treści po stronie serwera.
Uwagi
Zalety formularzy internetowych ASP .NET
Wcześniejsze kontrolki do obsługi siatek, danych wejściowych, wykresów, drzew i tak dalej.
Obsługuje model zdarzeń, który zachowuje stan w stosunku do HTTP, co jest korzystne dla rozwoju aplikacji internetowych dla firm. Aplikacja oparta na formularzach internetowych zapewnia dziesiątki zdarzeń obsługiwanych przez setki kontrolek serwera.
Wykorzystuje wzorzec kontrolera strony, który dodaje funkcjonalność do poszczególnych stron. Aby uzyskać więcej informacji, zobacz Kontroler strony w witrynie MSDN w sieci Web.
Wykorzystuje formularze stanu lub formularze oparte na serwerze, co ułatwia zarządzanie informacjami o stanie.
Działa dobrze dla małych zespołów programistów i projektantów stron internetowych, którzy chcą skorzystać z dużej liczby komponentów dostępnych do szybkiego tworzenia aplikacji.
Zasadniczo jest mniej skomplikowany w tworzeniu aplikacji, ponieważ komponenty (klasa strony, kontrolki itp.) Są ściśle zintegrowane i zwykle wymagają mniej kodu niż model MVC.
Łatwy model programistyczny dla programistów pochodzących z programowania WindowsForm.
Co to są formularze internetowe
Zalety aplikacji internetowej opartej na MVC
Ułatwia zarządzanie złożonością poprzez podzielenie aplikacji na model, widok i kontroler (oddzielenie problemów).
Nie używa formularzy stanu ani formularzy opartych na serwerze. To sprawia, że środowisko MVC jest idealne dla programistów, którzy chcą mieć pełną kontrolę nad zachowaniem aplikacji.
Używa wzorca kontrolera frontowego, który przetwarza żądania aplikacji sieci Web za pośrednictwem jednego kontrolera. Umożliwia to zaprojektowanie aplikacji obsługującej bogatą infrastrukturę routingu. Aby uzyskać więcej informacji, zobacz Front Controller w witrynie internetowej MSDN.
Zapewnia lepsze wsparcie dla rozwoju opartego na testach (TDD).
Działa dobrze w przypadku aplikacji internetowych obsługiwanych przez duże zespoły programistów i projektantów stron internetowych, którzy potrzebują dużej kontroli nad zachowaniem aplikacji.
Co to są formularze internetowe
Niedogodności
Formularze internetowe:
- Cykl życia strony złożonej, za każdym razem, gdy żądanie jest przesyłane do serwera, istnieje co najmniej 5 metod wykonania przed obsługą zdarzeń.
- Trudno pracować z frameworkami po stronie klienta, takimi jak JQuery lub Angular.
- Trudno pracować z Asyncronous JavaScript i XML (AJAX)
- Obsługa Viewstate
- Strona klienta i kod z tyłu są ściśle powiązane.
MVC:
- Opracowanie w porównaniu z formularzami internetowymi zajmuje więcej czasu.
- Dane są przesyłane do serwera w postaci czystego tekstu, natomiast w formularzach widokowych dane stanu są domyślnie szyfrowane.
Razor View Engine VS ASPX View Engine
Razor (MVC) | ASPX (formularze internetowe) |
---|---|
Przestrzeń nazw używana przez Razor View Engine to System.Web.Razor | Przestrzeń nazw używana przez silnik widoku ASPX to System.Web.Mvc.WebFormViewEngine |
Rozszerzenia plików używane przez Razor View Engine różnią się od silnika przeglądania formularza internetowego. Używa cshtml z C # i vbhtml z vb do widoków, widoku częściowego, szablonów i stron układu. | Rozszerzenia plików używane przez mechanizmy przeglądania formularzy internetowych są podobne do formularzy internetowych ASP.Net. Używa rozszerzenia ASPX do wyświetlania rozszerzenia aspc dla widoków częściowych lub Kontroli użytkownika lub szablonów i rozszerzeń głównych dla stron układu / wzorcowych. |
Silnik Razor obsługuje Test Driven Development (TDD). | Mechanizm przeglądania formularzy sieci Web nie obsługuje testowania opartego na testach (TDD), ponieważ zależy to od klasy System.Web.UI.Page, aby proces testowania był złożony. |
ASPX View Engine VS Razor View Engine