Blog

Tiếp theo phần 1: Tạo một ứng dụng data entry đơn giản trong asp.net mvcThiết kế website chuyên nghiệp sẽ cùng các bạn đi tếp nội dung làm sao để tạo một phương thức hành động.

Thứ năm, tạo một phương thức hành động.

Action method gọi là phương thức hành động, trong bài hướng dẫn trước, nếu bạn click vào link Rsvp Now bạn sẽ thấy máy tính báo có lỗi 404 – Not Found. Nguyên nhân gây ra lỗi ở đây chính là chúng ta chưa có phương thức ứng với URL: Home/RsvpForm.

Để khắc phục chúng ta thêm phương thức RsvpForm vào lớp HomeController như sau:

Tạo phương thức hoạt động trong ASP.NET MVC - Công ty thiết kế website chuyên nghiệp OTVINA

Thứ 6, Thêm một Strongly Typed View.

Thiet ke website chuyen nghiep sẽ thêm một View cho các phương thức hành động RSVPForm nhưng hơi khác, chúng ta sẽ tạo ra hiểu thị kiểm Strongly.  Strongly typed view được thiết kế để làm tùy chỉnh cho một loại domain đặc biệt và MVC có thể tạo ra những lối tắt hữu ích khiến công việc xử lý dễ dàng hơn.

Chú ý: Điều kiện để thêm Strongly Typed View là MVC phải được biên dịch trước khi tiêp tục, nếu khi đã tạo ra các lớp GuestResponse nhưng chưa biên dịch thì MVC sẽ không thể tạo ra Strongly Typed View. Để biên dịch ứng dụng chúng ta chọn Build Solution từ menu Build của Visual Studio.

Chuột phải vào RSVPForm trong trình soạn thảo code và chọn Add View, View Name của chúng ta sẽ là RsvpForm, đạt tên cho template là Empty và chọn GuestRespons từ danh sách thả xuống cho trường Model Clas. Để lại yên phần View Options như hình sau:

Tạo strongly typed view trong asp.net mvc -công ty thiết kế website chuyên nghiệp OTVINA.

Chọn Add thì trong Visual Studio tạo ra một file mới có tên là RvspForm.cshtml trong thư mục View/Home. Hãy mở ra để chỉnh sửa, chúng ta mở ra sẽ thấy nội dung như sau:

 

@model PartyInvites.Models.GuestResponse
@{
Layout = null;
}
<!DOCTYPE html>
<html><head>
<meta name="viewport" content="width=devicewidth" />
<title>RsvpForm</title>
</head>
<body>
<div>
</div>
</body>
</html

Chúng ta dễ dàng nhận thấy đây là tập tin có khung là định dạng HTML vào có thểm biểu thử @model của Razor.

Thứ bảy, Xây dựng Form.

Khi đã có strongly typed view, chúng ta sẽ tạo ra nội dung của RSVPForm.cshtml thành một dạng HTML để chỉnh sửa đối tượng GuesResponse.

@model PartyInvites.Models.GuestResponse
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=devicewidth" />
<title>RsvpForm</title>
</head>
<body>
@using (Html.BeginForm()) {
<p>Your name: @Html.TextBoxFor(x => x.Name) </p>
<p>Your email: @Html.TextBoxFor(x => x.Email)</p>
<p>Your phone: @Html.TextBoxFor(x => x.Phone)</p>
<p>
Will you attend?
@Html.DropDownListFor(x => x.WillAttend,
new[] {
new SelectListItem() {Text = "Yes, I'll be
there",
Value = bool.TrueString},
new SelectListItem() {Text = "No, I can't
come",Value = bool.FalseString}
}, "Choose an option")
</p>
<input type="submit" value="Submit RSVP" />
}
</body>
</html>

Đối với mỗi thuộc tính trong lớp GuestResponse, chúng ta sử dụng một phương pháp trợ giúp HTML để làm một điều khiển HTML input phù hợp.  Phương pháp  này cho phép bạn chọn các thuộc tính mà các yếu tố input liên quan đến việc sử dụng một biểu thức lambda. Ví dụ: @Html.TextBoxFor(x=>x.Phone)

Các phương thức như HTML TextBoxFor tạo ra HTML cho một yếu tố input, thiết lập tham số type thành dạng text và thiết lập các thuộc tính id và name thành Phone (Tên thuộc tính lớp domain được lựa chọn) như sau:

<input id="Phone" name="Phone" type="text" value=""
/>

Chức năng hữu ích này sẽ làm việc bởi vì View RsvpForm là dạng Strongly Typed, và sẽ gửi thông báo đến GuestResponse rằng chúng ta muốn tùy chỉnh view này.

(Còn tiếp)

Mời các bạn đọc phần tiếp theo tại thiết kế website chuẩn SEO OTVINA : ASP.NET MVC – Tạo Một Ứng Dụng Data Entry Đơn Giản P3:

Cảm ơn và trân trọng!