Wingtip Toys Sample Project (C#) (edit)

ASP.NET Web Forms

ASP.NET MVC

ASP.NET Core MVC

Blazor

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

https://docs.microsoft.com/en-us/aspnet/web-forms/overview/getting-started/getting-started-with-aspnet-45-web-forms/introduction-and-overview

https://i1.code.msdn.s-msft.com/Getting-Started-with-221c01f5/sourcecode?fileId=107941&pathId=982026036

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)

riganti/dotvvm-samples-wingtip-toys: Sample app for Hands-on workshop on migration of ASP.NET Web Forms app to .NET Core with DotVVM (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

Azure DevOps

https://wilsonmar.github.io/azure-devops/

https://id-card.info/putid/azure+app+services+firewall