Chủ đề 5: HTML Helper · COMP1064 –NET Technology –MVC5 CH5 - 1 HIENLTH Chủ đề 5:...

Post on 03-Jul-2020

5 views 0 download

Transcript of Chủ đề 5: HTML Helper · COMP1064 –NET Technology –MVC5 CH5 - 1 HIENLTH Chủ đề 5:...

COMP1064 – NET Technology – MVC5 CH5 - 1 HIENLTH

Chủ đề 5: HTML Helper

COMP1064 – NET Technology – MVC5 CH5 - 2 HIENLTH

Nội dung

1. Razor

2. MVC Helper

• HyperLink Helpers

• Form Helpers

• Model Helpers

3. Customer Helper

COMP1064 – NET Technology – MVC5 CH5 - 3 HIENLTH

1. Razor•Razor là ngôn ngữ ngắn gọn, rõ ràng và

hữu ích cho phép tạo ra giao diện ứng dụng

ASP.NET MVC

•Trong khối lệnh @{…} là mã C# trộn với HTML.

COMP1064 – NET Technology – MVC5 CH5 - 4 HIENLTH

Cú pháp Razor

COMP1064 – NET Technology – MVC5 CH5 - 5 HIENLTH

Cú pháp Razor

COMP1064 – NET Technology – MVC5 CH5 - 6 HIENLTH

Model

•Sử dụng @model để sử dụng đối tượng model

bất cứ nơi nào trong view.

@model Student<h2>Student Detail:</h2><ul>

<li>Student Id: @Model.StudentId</li><li>Student Name: @Model.StudentName</li><li>Age: @Model.Age</li>

</ul>

COMP1064 – NET Technology – MVC5 CH5 - 7 HIENLTH

2. HTML Helper là gì?

•HTML Helper là các thành phần sinh giao diện

web phù hợp buộc dữ liệu với model để duy trì

thông tin trên các thành phần đó.

•Đơn giản việc viết mã sinh giao diện

•Helper được chia làm 1 số nhóm

Liên kết

Form

Sinh giao diện từ model

Kiểm lỗi

COMP1064 – NET Technology – MVC5 CH5 - 8 HIENLTH

COMP1064 – NET Technology – MVC5 CH5 - 9 HIENLTH

2.1 Hyperlink Helper

COMP1064 – NET Technology – MVC5 CH5 - 10 HIENLTH

2.2 Form Field Helper

•Duy trì dữ liệu các trường form

COMP1064 – NET Technology – MVC5 CH5 - 11 HIENLTH

Ví dụ Form Helper

COMP1064 – NET Technology – MVC5 CH5 - 12 HIENLTH

2.3 DropDownList & ListBox

COMP1064 – NET Technology – MVC5 CH5 - 13 HIENLTH

Sinh mã HTML

COMP1064 – NET Technology – MVC5 CH5 - 14 HIENLTH

2.4 Sinh Form

COMP1064 – NET Technology – MVC5 CH5 - 15 HIENLTH

2.5 Helper định dạng

COMP1064 – NET Technology – MVC5 CH5 - 16 HIENLTH

Helper định dạng số

COMP1064 – NET Technology – MVC5 CH5 - 17 HIENLTH

Helper định dạng thời gian

COMP1064 – NET Technology – MVC5 CH5 - 18 HIENLTH

2.6 Mã hóa HTML

COMP1064 – NET Technology – MVC5 CH5 - 19 HIENLTH

3. Sinh giao diện theo Model

3.1 Sinh giao diện động

•Dựa vào các đặc điểm của thuộc tính trong lớp

model để sinh ra giao diện người dùng.

• Sinh các control tường minh

• Sinh các control ngầm định

COMP1064 – NET Technology – MVC5 CH5 - 20 HIENLTH

3.2 Sinh giao diện tường minh

•Chỉ định loại control đối với các thuộc tính

COMP1064 – NET Technology – MVC5 CH5 - 21 HIENLTH

3.3 View

Sinh <input type=“text” name=“Id”id=“Id”> từ thuộc tính Id của Model

Sinh <label for=“Id”>Mã sinh viên</label>

Kiểu của Model

COMP1064 – NET Technology – MVC5 CH5 - 22 HIENLTH

3.4 Sinh giao diện ngầm định

•Tự sinh loại control phù hợp với đặc điểm của

thuộc tính của lớp model.

Helper Mô tả

Html.EditorFor(m=>m.Property) Sinh 1 control cho 1 thuộc tính.

Html.EditorForModel() Sinh toàn form theo các thuộc tính của Model

Html.Editor(object) Sinh toàn form theo các thuộc tính của Objectđặt trong ViewBag

COMP1064 – NET Technology – MVC5 CH5 - 23 HIENLTH

3.4 Sinh giao diện ngầm định

COMP1064 – NET Technology – MVC5 CH5 - 24 HIENLTH

3.5 Kiểu Control

COMP1064 – NET Technology – MVC5 CH5 - 25 HIENLTH

3.6 Hiển thị Thông tin

COMP1064 – NET Technology – MVC5 CH5 - 26 HIENLTH

4. Custom Helper

•Bên cạnh các helper dựng sẵn, bạn có thể tạo

cho mình các helper có mục đích cho riêng

mình.

•Trong MVC có 3 phương pháp tạo helper tùy

biến.

Custom Helper

Static Method

Extension Method

Razor @Helper

COMP1064 – NET Technology – MVC5 CH5 - 27 HIENLTH

4.1 Static Method

COMP1064 – NET Technology – MVC5 CH5 - 28 HIENLTH

4.2 Tạo HTML Helper tùy biến

•Phương thức tĩnh• Sử dụng: @String.Format("{0:F}", Model.Price)

•Phương thức mở rộng của HtmlHelper• Sử dụng: @Html.Submit(String label)

•Chỉ thị @helper để định nghĩa trực tiếp View

• Sử dụng: @Truncate(title, 20)

COMP1064 – NET Technology – MVC5 CH5 - 29 HIENLTH

4.3 Mở rộng HTML HelperQui ước Lớp được mở rộng

Sử dụng helpermới định nghĩa

Control sinh ra

COMP1064 – NET Technology – MVC5 CH5 - 30 HIENLTH

4.3 Mở rộng HTML Helper

COMP1064 – NET Technology – MVC5 CH5 - 31 HIENLTH

4.4 Sử dụng Helper

COMP1064 – NET Technology – MVC5 CH5 - 32 HIENLTH

4.5 Sử dụng @Helper

COMP1064 – NET Technology – MVC5 CH5 - 33 HIENLTH

Tham khảo

•Slide bài giảng MVC5, ThS. Nguyễn Nghiệm,

Nhất Nghệ.

•http://www.c-sharpcorner.com/article/html-

helpers-in-asp-net-mvc/

COMP1064 – NET Technology – MVC5 CH5 - 34 HIENLTH

Câu hỏi và thảo luận

COMP1064 – NET Technology – MVC5 CH5 - 35 HIENLTH

Thank you!!!