7. .Net
:
. Không d
Model-View-Controller.
-8
-
-View-Controller User Interface Paradigm in
Smalltalk-80”, 8 năm 1988.
Jurassic Common Gateway Đơn giản, linh họat Chạy web
Interface (CGI) Lựa chọn duy nhất server,nên cần nhiều
vào thời điểm này tài nguyên (cần các
tiến trình riêng lẻ
trên HĐH cho mỗi
lời yêu cầu).
Cấp thấp
Bronze age Microsoft Internet Chạy trong web Chỉ là đóng gói cho
Database Connector server những câu truy vấn
(IDC) SQL và template
cho các kết quả có
định dạng
1996 Active Server Pages Mục đích chung Thông dịch thời
(ASP) gian thực
Xu hướng “spaghetti
code”
2002/03 ASP.NET 1.0/1.1 Đã được biên dịch Nặng nề trên băng
Giao diện có trạng thông
thái HTML khó nhìn
Cấu trúc lớn Không thể test
Xu hướng lập trình
hướng đối tượng
2005 ASP.NET 2.0
2007 ASP.NET Ajax
2008 ASP.NET 3.5
2009 Asp.net MVC 1.0
2010 Asp.net MVC 2.0
ASP.NET 4.0
7
8. 2011 Asp.net MVC 3.0
Đ C .net MVC:
,MBUnit,MS
Test..
,
, routing
policy,parameter serialization…).
ProductController.
d
, < ,
template, data-binding, localization,…).
- viewstate, page lifecycle.
.net như form/windows
authenticate, Url authorization, ,
session/profile state, configuration system, provider architecture ….
.net MVC:
Trong
:Models,Views,Controllers.
Models: trong các ứng dụng dựa trên MVC là những thành phần có nhiệm vụ
lưu trữ thông tin, trạng thái của các đối tượng, thông thường nó là một lớp được
ánh xạ từ một bảng trong CSDL. Lấy ví dụ, chúng ta có lớp Product được sử dụng
để mô tả dữ liệu từ bảng Products trong SQL, bao gồm ProductID, OrderDate...
8
9. Models. Ví dụ, đối tượng Product có một "Edit" view bao gồm các textboxes, các
dropdowns và checkboxes để chỉnh sửa các thuộc tính của sản phẩm; có một
"Display" view gồm 2 dòng, cột dòng là ProductID, dòng sau là OrderDate... để
xem thông tin về sản phẩm.
Con
.
,views,controllers
.
1.4.So S .net Webform V .net MVC:
Asp.net
.
: Models, Views, Control
postback, .
a .
.net MVC Framework th
.
Asp.net Webform Asp.net MVC
Webform-Business- Models-Views-Controllers
Database
Debug
Controller
Url address
> Controller/Action/Id
9
10. I
.net MVC
:
,
Views, Controllers.
, bên trong Control
1 product, trongânkhi UpdateAction
.
g
.
.
10
11. Asp.net MVC không ph
nhưng Asp.net WebForm như Configuration,Security,Roles…
.net MVC:
Content: s .
.
a .
.
:
, Jsp, Php…
.
Url
http://mysite.com/default.aspx E:webrootdefault.aspx
http://mysite.com/admin/login.aspx E:webrootadminlogin.aspx
11
22. Strongly Type Object Trong ViewData.Model:
Bây .Model trong view như sau:
:
:
XML
JSON )
CSV (thư )
sau:
.
: text/xml cho XML, text/csv cho
CSV,application/rss+xml cho RSS.
System.Net.Mime.MediaTypeNames.
System.Text.Encoding
.
:
22
23. eed:
ContentResult
.NET 3.5 XDocument API :
:
JavaScript Object Notation (JSON)
g serve .
:
citiesArray JSON như sau:
.
:
JavaScript() JavaScriptResult
23
25. 2.4.Views :
:
:
Inline code
<%: .. %> or <%=.. %>
.
HTML helpers ,
Server control .Net Web Form
Partial views
Child actions
.
:
Person như sau:
-
Person:
25
26. :
:
Control
Check Html.CheckBox("myCheckbox", false) :
box
Hidden Html.Hidden("myHidden", "val") ->
field
Radio Html.RadioButton("myRadiobutton", "val", true)->
button
Password Html.Password("myPassword", "val")->
Text area Html.TextArea("myTextarea", "val", 5, 20, null)->
Text box Html.TextBox("myTextbox", "val")->
:
Control
Check Html.CheckBoxFor(x => x.IsApproved) ->
box
Hidden Html.HiddenFor(x => x.SomeProperty)->
field
Radio Html.RadioButtonFor(x => x.IsApproved, "val") ->
26
27. button
Password Html.PasswordFor(x => x.Password) ->
Text area Html.TextAreaFor(x => x.Bio, 5, 20, new{}) ->
Text box Html.TextBoxFor(x => x.Name) ->
:
:
:
:
:
Url.Content("~/Views/Shared/Do an tot nghiep.pdf")->
Html.ActionLink("Hi", "About", "Home") ->
action/controller
Link Html.ActionLink("Hi", "About", "Home", "https",
"www.example.com", "anchor", new{}, null)->
Url.Action("About", "Home") ->
Html.RouteLink("Hi", new { controller = "c", action = "a" },
null) ->
:
Html.ActionLink("Click me","MyAction",new{controller="Another", param = "val"})
:
Multiselect Lists:
Drop-down list Html.DropDownList("myList", new SelectList(new [] {"A", "B"}),
"Choose") ->
Drop-down list Html.DropDownListFor(x => x.Gender, new SelectList(new [] {"M",
"F"})) ->
27
28. Multiselect list Html.ListBox("myList", new MultiSelectList(new [] {"A", "B"})) ->
Multiselect list Html.ListBoxFor(x =>x.Vals,new MultiSelectList(new [] {"A",
"B"}))->
sau:
:
: <%: Html.DropDownList("region", "Choose") %>
:
2.5.Models:
28