- vừa được xem lúc

Model Binding trong ASP .NET

0 0 7

Người đăng: Long Tiến

Theo Viblo Asia

Model binding là một khái niệm trong lập trình ứng dụng web, đặc biệt là trong các framework phát triển web như ASP.NET. Nó liên quan đến việc ánh xạ dữ liệu giữa các đối tượng (model) trong ứng dụng và các thông tin được gửi lên từ người dùng, ví dụ như các tham số truy vấn URL, các giá trị của biểu mẫu web, hoặc các dữ liệu được gửi qua phương thức POST.

Model binding giúp tự động ràng buộc (bind) dữ liệu từ nguồn dữ liệu đến các thuộc tính của đối tượng mô hình trong ứng dụng. Nó giúp giảm thiểu công việc phức tạp của việc truy xuất và gán dữ liệu một cách thủ công. Thay vì phải xử lý các thông tin đầu vào từ người dùng một cách rời rạc, model binding cho phép bạn định nghĩa các đối tượng mô hình với các thuộc tính tương ứng và gửi dữ liệu từ nguồn dữ liệu đến các thuộc tính này một cách tự động.

Ví dụ, khi người dùng gửi một biểu mẫu đăng ký thông tin cá nhân, model binding sẽ tự động ánh xạ các giá trị trong biểu mẫu đến các thuộc tính của một đối tượng mô hình tương ứng, chẳng hạn như một đối tượng User. Điều này giúp tiết kiệm thời gian và công sức trong việc lấy giá trị từ các trường đầu vào và gán chúng cho các thuộc tính tương ứng của đối tượng User.

Model binding có thể được cấu hình và tùy chỉnh để phù hợp với yêu cầu cụ thể của ứng dụng. Nó giúp giảm bớt việc viết mã lặp lại và tăng tính nhất quán trong quá trình xử lý dữ liệu người dùng trong các ứng dụng web.

Dưới đây là một ví dụ đơn giản về việc sử dụng model binding trong ASP.NET: Giả sử bạn có một trang đăng ký người dùng trong ứng dụng web ASP.NET. Bạn có một lớp User với các thuộc tính Name, Email và Age.

Trước tiên, hãy tạo lớp User như sau:

public class User
{ public string Name { get; set; } public string Email { get; set; } public int Age { get; set; }
}

Tiếp theo, tạo một trang đăng ký đơn giản trong ASP.NET:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Register.aspx.cs" Inherits="YourNamespace.Register" %> <!DOCTYPE html>
<html>
<head> <title>Registration Page</title>
</head>
<body> <form id="registerForm" runat="server"> <div> <label for="txtName">Name:</label> <input type="text" id="txtName" name="Name" runat="server" /> <label for="txtEmail">Email:</label> <input type="email" id="txtEmail" name="Email" runat="server" /> <label for="txtAge">Age:</label> <input type="text" id="txtAge" name="Age" runat="server" /> <input type="submit" value="Register" runat="server" onserverclick="Register_Click" /> </div> </form>
</body>
</html>

Sau đó, trong file code-behind (Register.aspx.cs), thêm mã để xử lý sự kiện đăng ký và sử dụng model binding:

using System; namespace YourNamespace
{ public partial class Register : System.Web.UI.Page { protected void Register_Click(object sender, EventArgs e) { // Tạo một đối tượng User mới User user = new User(); // Sử dụng model binding để ánh xạ dữ liệu từ các trường đầu vào vào thuộc tính của đối tượng User // Các giá trị được tự động ràng buộc theo tên trường (name) của các trường đầu vào // Chú ý: Kiểm tra và xử lý lỗi khi ép kiểu dữ liệu không thành công (TryParse) user.Name = txtName.Value; user.Email = txtEmail.Value; int age; if (int.TryParse(txtAge.Value, out age)) { user.Age = age; } else { // Xử lý lỗi nếu tuổi không hợp lệ // ... } // Tiếp theo, bạn có thể lưu thông tin người dùng vào cơ sở dữ liệu hoặc thực hiện các xử lý khác ở đây // Ví dụ: // userRepository.SaveUser(user); // ... // Chuyển hướng đến trang thành công Response.Redirect("Success.aspx"); } }
}

Trong ví dụ trên, khi người dùng nhấn vào nút "Register", sự kiện Register_Click sẽ được kích hoạt. Trong sự kiện này, chúng ta tạo một đối tượng User mới và sử dụng model binding để ánh xạ dữ liệu từ các trường đầu vào vào thuộc tính của đối tượng User. Sau đó, bạn có thể thực hiện các xử lý tiếp theo, chẳng hạn như lưu thông tin người dùng vào cơ sở dữ liệu.

Đây chỉ là một ví dụ đơn giản về việc sử dụng model binding trong ASP.NET. Trong thực tế, có nhiều cách tiếp cận và tùy chọn cấu hình khác nhau để tùy chỉnh model binding theo yêu cầu của ứng dụng.

Bình luận

Bài viết tương tự

- vừa được xem lúc

Các loại tham chiếu Nullable trong C# (Phần 1)

1. Giới thiệu. C# 8.0 giới thiệu kiểu tham chiếu nullable và kiểu tham chiếu non-nullable cho phép bạn đưa ra các lựa chọn quan trọng về thuộc tính cho các biến kiểu tham chiếu:.

0 0 36

- vừa được xem lúc

Command pattern qua ví dụ !

Command pattern là gì . Command pattern khá phổ biến trong C #, đặc biệt khi chúng ta muốn trì hoãn hoặc xếp hàng đợi việc thực hiện một yêu cầu hoặc khi chúng ta muốn theo dõi các hoạt động. Hơn nữa, chúng ta có thể hoàn tác tác chúng. .

0 0 178

- vừa được xem lúc

Hiểu Liskov Substitution Principle qua ví dụ !

Liskov Substitution Principle là gì . Nguyên tắc đóng mở xác đinh rằng các instance của lớp con có thể thay thế được instance lớp cha mà vẫn đảm bảo tính đúng đắn của chương trình.

0 0 24

- vừa được xem lúc

Creating custom Controls Wpf

Introduction. Wpf/winforms provides various controls like Buttons, Textbox, TextBlock, Labels etc.

0 0 41

- vừa được xem lúc

[P1] Chọn công nghệ nào để xây dựng website?

Hiện nay nhu cầu phát triển website, app tăng rất cao do xu hướng "số hóa 4.0" trong và ngoài nước.

0 0 71

- vừa được xem lúc

Kiểu dữ liệu trong C#

Dẫn nhập. Ở bài BIẾN TRONG C# chúng ta đã tìm hiểu về biến và có một thành phần không thể thiếu khi khai báo biến – Đó là kiểu dữ liệu.

0 0 24