Wingtip Toys Sample Project (C#) (edit)
ASP.NET Web Forms
ASP.NET MVC
- The History of ASP.NET – Part II (Covers ASP.NET MVC) | DotNetCurry
- ASP.NET MVC Version History (tutorialsteacher.com)
- A Brief History of ASP.NET MVC Framework (dotnettricks.com)
ASP.NET Core MVC
Blazor
- Blazor workshop: doanhnghiepvn/blazor-workshop (github.com)
- Blazing Pizzas app: doanhnghiepvn/BlazingPizza: Blazing Pizzas app (github.com)
- Blazor Auth: doanhnghiepvn/BlazorAuthenticationAndAuthorization: Fully functioning finished sample code for my Authentication and Authorization in Blazor Applications course (github.com)
- Blazor Samples: doanhnghiepvn/BlazorWebFormsComponents (github.com)
Wingtip Toys
- ASP.NET Web Forms
- Entity Framework Code First
- OOP (C#)
- HTML, CSS, JavaScript
- ASP.NET Identity
- LocalDB
- SQL Server
- Shopping Cart
- Checkout and Payment with PayPal
doanhnghiepvn/Wingtip-Toys (github.com)
https://github.com/Jeed999/WingtipToys - ASP.NET 4.5 Web Form (VS 2017) - Wingtip Toys
https://github.com/Project6/Wingtip-Toys - ASP.NET 4.5 Web Form (VS 2013) - Wingtip Toys
jasarsoft/wingtip-toys: Wingtip Toys ASP.NET Sample (github.com)
Microsoft Developer Network Samples
http://microsoftdevelopernetworksamples.blogspot.com/2017/09/getting-started-with_52.html
Thuật ngữ
- .NET Framework - Một công nghệ được giới thiệu vào năm 2002, bao gồm khả năng tạo ra các file thực thi, các ứng dụng web, và các service sử dụng C#, Visual Basic, và F# (xem thêm wikipedia).
- ASP.NET - Một server-side web application framework mã nguồn mở, là một tập con của .NET Framework tập trung cụ thể vào việc xây dựng ứng dụng web, các trang web và web services.
- ASP.NET Web Forms - (2002 - đến nay) Một kỹ thuật độc quyền được phát triển bởi Microsoft để quản lý state và form data trên nhiều trang. Bản chất của các trang web là stateless nhưng Microsoft đã chuyển thành các trang stateful bằng cách tạo ra kỹ thuật Web Forms.
- ASP.NET MVC - (2008 - đến nay) Một web application framework mã nguồn mở tuân theo design pattern Model-View-Controller.
So sánh ASP.NET Web Forms và ASP.NET MVC
Hiện nay, cả hai mô hình này đều được các lập trình viên triển khai. Tuy nhiên, trước khi lựa chọn mô hình nào để phát triển ứng dụng Web, chúng ta cần phải biết được sự khác biệt và phạm vi sử dụng để có thể lựa chọn mô hình phù hợp trong thực tế.
ASP.NET WEB FORMS | ASP.NET MVC |
ASP.NET Web forms sử dụng mô hình lập trình sự kiện trên Page Life cycle. | Ứng dụng ASP.NET MVC sử dụng mô hình MVC trong xử lý các yêu cầu, không sử dụng Page Life cycle như Web Forms. |
Để lập trình ASP.NET Web Form hiệu quả, bạn cần phải hiểu rõ các kỹ thuật quản lý trạng thái liên quan đến session,view state, cookies,… |
Trên ASP.NET MVC, Model State lưu giữ trạng thái cố định trong suốt quá trình post back, bạn cũng có thể sử dụng ViewBag, View Data, Temp data để quản lý thông tin trạng thái.
|
Mỗi trang (.aspx) đều có tập tin mã lệnh điều khiển tương ứng (aspx.cs/.vb), tích hợp chặt chẽ, không tách rời. | Mã lệnh được phân chia rõ ràng theo mô hình MVC, giúp cho việc nâng cấp, bảo trì được dễ dàng, thuận tiện. |
Để người dùng cảm thấy dễ dàng khi chuyển từ Winform sang Web Forms, tất cả thông tin trạng thái đều được lưu giữ trong Viewstate. Do đó, viewstate của Web Forms thường khá lớn, có thể lên đến MB. | ASP.NET MVC không lưu giữ thông tin trạng thái, do đó tập tin kết xuất tối ưu hơn rất nhiều, giúp cho cải thiện tốc độ ứng dụng web trong thực tế một cách đáng kể. |
Khi lập trình trên ASP.NET Web Forms, bạn không cần nhiều kiến thức về HTML, CSS và Javascript do Microsoft đưa ra các khái niệm server-side controls, một tầng “ảo” che dấu các chi tiết về HTML, giúp người lập trình có cảm giác lập trình Web cũng tương tự như lập trình ứng dụng Windows. |
Lập trình MVC, bạn phải nắm vững kiến thức về HTML, CSS và Javascript để biết triển khai front-end, xây dựng các xử lý và kết hợp các thành phần với back-end cho hiệu quả.
|
Do không cần biết chi tiết về HTML, CSS và Javascript nên ASP WebForms được xếp vào loại RAD (Rapid Application Development), khá phù hợp để triển khai nhanh các ứng dụng web có ngân sách giới hạn,các ứng dụng web nội bộ. |
Với các ứng dụng web lớn, cần nhiều nhân sự, nhiều xử lý ở các mức front-end và back-end, cần sự phối hợp hiệu quả giữa các xử lý, linh động có khả năng dễ dàng thay đổi cho phù hợp với thực tế, bạn nên cân nhắc sử dụng ASP.NET MVC để việc quản lý cũng như bảo trì, nâng cấp sau này sẽ dễ dàng và thuận tiện hơn nhiều.
|
Difference between ASP.NET MVC and Web Forms
Difference between ASP.NET WebForms and ASP.NET MVC (dotnettricks.com)
Read More Articles Related to ASP.NET MVC
Audience
The intended audience of this tutorial series is experienced developers who are new to ASP.NET Web Forms. A developer interested in this tutorial series should have the following skills:
- Familiar with an object oriented programming (OOP) language
- Familiar with Web development concepts (HTML, CSS, JavaScript)
- Familiar with relational database concepts
- Familiar with n-tier architecture concepts
Application Features
The ASP.NET Web Form features presented in this series include:
- The Web Application Project (not Web Site Project)
- Web Forms
- Master Pages, Configuration
- Bootstrap
- Entity Framework Code First, LocalDB
- Request Validation
- Strongly Typed Data Controls, Model Binding, Data Annotations, and Value Providers
- SSL and OAuth
- ASP.NET Identity, Configuration, and Authorization
- Unobtrusive Validation
- Routing
- ASP.NET Error Handling
Application Scenarios and Tasks
Tasks demonstrated in this first series include:
- Creating, reviewing and running the new project
- Creating the database structure
- Initializing and seeding the database
- Customizing the UI using styles, graphics and a master page
- Adding pages and navigation
- Displaying menu details and product data
- Creating a shopping cart
- Adding SSL and OAuth support
- Adding a payment method
- Including an administrator role and a user to the application
- Restricting access to specific pages and folder
- Uploading a file to the web application
- Implementing input validation
- Registering routes for the web application
- Implementing error handling and error logging
Tailwind Traders
https://github.com/jldeen/TailwindTraders-Backend
https://github.com/microsoft/TailwindTraders-Backend