1. Trang chủ
  2. » Công Nghệ Thông Tin

Asp net bai 6 de cuong su dung layout, raroz view engine

29 0 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 29
Dung lượng 1,04 MB
File đính kèm ASP.NET - Bai 6 su dung Layout.rar (1 MB)

Nội dung

Bài giảng chi tiết môn học lập trình ASP.Net Bài học cung cấp kiến thức cơ sở lý thuyết tổng quan về ASP.NET, kiến trúc ASP.NET, Code phía server, cách thức truyền dữ liệu giữa các trang, chuyển trang. Sau khi học xong bài học này sinh viên có thể xây dựng được các trang Web Form sử dụng điều khiển Html, Server và biết cách truyền dữ liệu giữa các trang Web

HỌC PHẦN: LẬP TRÌNH WEB BẰNG ASP.NET BÀI 6: SỬ DỤNG LAYOUT, RAZOR VIEW ENGINE Nội dung học: Layout website 1.1 Layout mặc định tạo web mvc 1.1 Tự làm layout cho website HTML Helpers in ASP.NET MVC 10 2.1 Standard HTML helper Asp.NET MVC5 10 2.2 Cách sử dụng 11 2.3 Strongly-Typed HTML Helper 15 2.4 Templated HTML Helpers 15 Sử dụng Standard HTML helper thiết kế form 16 Các lưu ý sử dụng Razor View 24 4.1 Sử dụng @ viết code: 24 4.2 Đặt khối mã cặp dấu { } 24 4.3 Bên khối, kết thúc câu lệnh mã dấu chấm phẩy 25 4.4 Sử dụng biến để lưu trữ giá trị 25 4.5 Đặt giá trị chuỗi ký tự dấu ngoặc kép 25 4.6 Code phân biệt chữ hoa chữ thường 25 4.7 Phần lớn code bạn liên quan đến đối tượng 26 4.8 Viết mã đưa định vòng lặp 26 4.9 Collection Objects (Arrays and Dictionaries) 28 4.10 Sử dụng try/catch 29 Layout website 1.1 Layout mặc định tạo web mvc Trong website, thấy page giống vị trí header, footer, body Thơng thường, nội dung trang thay đổi Vậy làm để thiết kế lặp lại phần chung website ASP.Net MVC cho đời khái niệm Layout Page, với việc sử dụng Layout Page cần tạo nội dung cho header footer lần, page muốn sử dụng cần thừa kế từ Layout Page chứa header footer Học kết hợp Trang HỌC PHẦN: LẬP TRÌNH WEB BẰNG ASP.NET Khi tạo Project MVC 5, Vision Studio tạo sẵn cho cấu trúc thư mục: Quan sát thư mục file thư mục Views File Index.cshtml thư mục Home đặt mặc định trang chạy website Khi chạy chương trình, hình xuất hiện: Học kết hợp Trang HỌC PHẦN: LẬP TRÌNH WEB BẰNG ASP.NET Click vào About: Click vào Contact Học kết hợp Trang HỌC PHẦN: LẬP TRÌNH WEB BẰNG ASP.NET Chúng ta nhận thấy phần header, link, footer giống trang VS tạo sẵn cho file _Layout.cshtml, file chứa giao diện website Nội dung file Layout.cshtml: Học kết hợp Trang HỌC PHẦN: LẬP TRÌNH WEB BẰNG ASP.NET Trong đó, quan tâm tới thẻ sau: a @Style.Render @Styles.Render("~/Content/css") @Scripts.Render("~/bundles/modernizr") @Styles.Render () liên kết tới đến cấu hình gói Chúng ta xem định nghĩa gói YourWebsite/packages.config Nội dung file config sau: b ActionLink
  • @Html.ActionLink("Home", "Index", "Home")
  • @Html.ActionLink("About", "About", "Home")
  • @Html.ActionLink("Contact", "Contact", "Home")
  • Là link tới action view @ActionLink(“Text Link”,”Action Name”,”Controller Name”) c @RenderBody() @RenderBody sử dụng để đưa nội dung từ trang vào thiết kế trang Nếu khơng có phần đặt tên trang con, nội dung hiển thị phần RenderBody d @Scripts.Render Là gói tất javascript style sheet thành file định dạng (cịn gọi rút gọn) để tiết kiệm băng thông số lượng request trang File About.cshtml có nội dung: Học kết hợp Trang HỌC PHẦN: LẬP TRÌNH WEB BẰNG ASP.NET File Contact.cshtml có nội dung: Như thấy file khơng có đoạn code liên kết tới trang _Layout.cshtml; thấy nội dung hiển thị đầy đủ header, link, footer File _ViewStart.cshtml chứa mặc định Layout áp dụng cho view Nội dung file là: @{ Layout = "~/Views/Shared/_Layout.cshtml"; } 1.1 Tự làm layout cho website Tạo Layout mới, đặt tên _Layout.cshtml1 hình: Học kết hợp Trang HỌC PHẦN: LẬP TRÌNH WEB BẰNG ASP.NET Xuất đoạn code: @Page.Title @RenderSection("head", required: false) @RenderBody() Chúng ta chỉnh sửa chút: @Page.Title @RenderSection("head", required: false) Hanoi University of Industry @Html.ActionLink("Kỹ thuật lập trình", "Kythuat", "fit") @Html.ActionLink("Hệ thống thông tin", "Hethong", "fit") @RenderBody() Falculty of Information Technology Tạo action fitController.cs namespace Proj_LayoutDemo0.Controllers { public class fitController : Controller { // GET: fit public ActionResult Kythuat() Học kết hợp Trang HỌC PHẦN: LẬP TRÌNH WEB BẰNG ASP.NET { return View(); } public ActionResult Hethong() { return View(); } } } Tạo view Kythuat.cshtml, sử dụng _Layout1.cshtml Code file Kythuat.cshtml sau: @{ ViewBag.Title = "Kythuat"; Layout = "~/Views/Shared/_Layout1.cshtml"; } Ky thuat Là ngành học Kỹ thuật lập trình ➔ Dịng Layout = "~/Views/Shared/_Layout1.cshtml"; cho biết sử dụng _Layout1.cshtml Tiếp tục tạo view Hethong.cshtml, sử dụng _Layout1.cshtml Học kết hợp Trang HỌC PHẦN: LẬP TRÌNH WEB BẰNG ASP.NET Code: @{ ViewBag.Title = "Hethong"; Layout = "~/Views/Shared/_Layout1.cshtml"; } He thong Là ngành học hệ thống thông tin Chạy view Kythuat.cshtml: Click vào link Hệ thống thông tin: Học kết hợp Trang HỌC PHẦN: LẬP TRÌNH WEB BẰNG ASP.NET  Giao diện thống nhất, sử dụng _Layout1.cshtml HTML Helpers in ASP.NET MVC 2.1 Standard HTML helper Asp.NET MVC5 Standard HTML helpers sử dụng để hiển thị loại điều khiển HTML phổ biến Label,TextBox, Password, TextArea, CheckBox, RadioButtion, DropDownList, Listbox,Display,Editor and ActionLink v.v… Standard HTML helpers bắt đầu @HTML Chúng đối tượng lớp HTML helpers Ký hiệu @ sử dụng để truy cập mã phía máy chủ Phương thức mở rộng class HTML help có số phương thức nạp chồng HTML thuộc tính kiểu HtmlHelper bao gồm lớp sở WebViewPage chế độ xem Razor view TextBox () TextBoxFor () phương thức mở rộng có class HtmlHelper Class HtmlHelper tạo phần tử HTML Ví dụ: @ Html.ActionLink ("Create Empoyee", "Create", "Employee") tạo thẻ liên kết: Create Empolyee Danh sách Standard HTML Helpers ASP.NET MVC @Html.Label @Html.TextBox @Html.Password @Html.TextArea @Html.CheckBox @Html.RadioButton Học kết hợp Trang 10 HỌC PHẦN: LẬP TRÌNH WEB BẰNG ASP.NET 2.3 Strongly-Typed HTML Helper Danh sách strongly-Typed HTML Helper @Html.HiddenFor() @Html.LabelFor() @Html.TextBoxFor() @Html.RadioButtonFor() @Html.DropDownListFor() @Html.CheckBoxFor() @Html.TextAreaFor() @Html.PasswordFor() @Html.ListBoxFor() 2.4 Templated HTML Helpers Hiển thị: @Html.Display() @Html.DisplayFor() @Html.DisplayName() @Html.DisplayNameFor() @Html.DisplayText() @Html.DisplayTextFor() @Html.DisplayModelFor() Nhập, xuất: @Html.Editor() @Html.EditorFor() @Html.EditorForModel() Ví dụ: public class HomeController : Controller { public ActionResult Details() { //Here we are hardcoded the Employee Details //In Realtime you will get the data from any data source Employee employee = new Employee() { EmpId = 1, Name = "Rishabh Tyagi", Gender = "Male", city = city.Dehli, skills = skills.WebAPI, Học kết hợp Trang 15 HỌC PHẦN: LẬP TRÌNH WEB BẰNG ASP.NET Address = "lajpat Nagar", AgreeTerm = true }; ViewData["EmployeeData"] = employee; return View(); } } Trang view: @{ ViewBag.Title = "Details"; } Employee Details @Html.Display("EmployeeData") Sử dụng Standard HTML helper thiết kế form Tạo file StudentRegistrationController.cs sau: public class StudentRegistrationController : Controller { // GET: StudentRegistration public ActionResult Index() { return View(); } } Học kết hợp Trang 16 HỌC PHẦN: LẬP TRÌNH WEB BẰNG ASP.NET Tạo view cho phương thức Index() @{ Layout = null; } Index Student Registration Form @using (Html.BeginForm("Regis", "StudentRegistration")) { @Html.Label("Student Name") @Html.TextBox("name") @Html.Label("Gender") @Html.RadioButton("gender", "Male") Male @Html.RadioButton("gender", "Female") Female @Html.Label("Email") @Html.TextBox("email") @Html.Label("Address") @{ IEnumerable strList = new List { "Hanoi", "Danang", "tpHCM" }; } @Html.DropDownList("addr", new SelectList(strList, strList.FirstOrDefault()), " Select-") @Html.Label("Subjects") @Html.CheckBox("Java core")Java Core @Html.CheckBox("SQL Server")SQL Server @Html.CheckBox("PHP")PHP @Html.Label("Username") @Html.TextBox("username") @Html.Label("Password") Học kết hợp Trang 17 HỌC PHẦN: LẬP TRÌNH WEB BẰNG ASP.NET @Html.Password("password") @Html.Label("Comment") @Html.TextArea("comment", "") } Code HTML sinh tương ứng sau: Index Student Registration Form Student Name Gender Male Female Email Address Select Hanoi Danang tpHCM Học kết hợp Trang 18 HỌC PHẦN: LẬP TRÌNH WEB BẰNG ASP.NET Subjects Java Core SQL Server PHP Username Password Comment Tạo file Student.cs thư mục Models có nội dung sau: using using using using System; System.Collections.Generic; System.Linq; System.Web; namespace Proj_LayoutDemo.Models { public class Student { public string name{ get; set; } public string gender { get; set; } public string email { get; set; } public string addr { get; set; } public string subjects { get; set; } public string username { get; set; } public string password { get; set; } public string comment { get; set; } } Học kết hợp Trang 19 HỌC PHẦN: LẬP TRÌNH WEB BẰNG ASP.NET } Quay trở lại file StudentRegistrationController.cs, thêm phương thức public ActionResult Regis(Student s) { return View(s); } Biến Student s tự động lấy thông tin từ form chuyển sang controller chuyển tiếp tới view Regis.cshtml Tạo view Regis lựa chọn hình: MVC tự sinh code sau: @model Proj_LayoutDemo.Models.Student @{ Layout = null; } Regis_ver2 Student Học kết hợp Trang 20

    Ngày đăng: 24/02/2024, 06:30

    w