TOC

This article is currently in the process of being translated into Vietnamese (~98% done).

UserControls:

Creating a UserControl

Chúng ta sẽ tạo ra UserControl để hiển thị thông tin về người dùng. Đầu tiên, thêm UserControl vào trong project. Trong VS, bạn có thể nháy chuột phải vào project và chọn Add new item. Một cửa sổ hiện ra và bạn chọn Web User Control. Gọi control này là UserInfoBoxControl, với filename UserInfoBoxControl.ascx. Đảm bảo bạn chọn checkbox đặt code trong file riêng biệt gọi là CodeBehind.

Bạn có cả UserInfoBoxControl.ascx và cả UserInfoBoxControl.ascx.cs trong project. File đầu tiên là để bạn đưa vào markup và file thứ hai là CodeBehind. Bây giờ, nếu UserInfoBoxControl.ascx không mở và dùng thì hãy làm. Bạn sẽ thấy chỉ một dòng code, khai báo UserControl. Như đã nói, control này sẽ hiển thị thông tin về người dùng nên hãy bắt đầu thêm vào một số markup:

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="UserInfoBoxControl.ascx.cs" Inherits="UserInfoBoxControl" %>
<b>Information about <%= this.UserName %></b>
<br /><br />
<%= this.UserName %> is <%= this.UserAge %> years old and lives in <%= this.UserCountry %>

Như bạn thấy rất cơ bản. Chúng ta có một khai báo, vài thẻ và vài dòng chữ, và sau đó chúng ta có vài loại biến. Vậy chúng tới từ đâu? Chúng không từ đâu cả, vì chúng ta chưa khai báo. Chúng ta có thể làm tốt hơn. Mở CodeBehind.

Như bạn thấy, chúng giống CodeBehind trong trang thông thường ngoại trừ việc chúng kế thừa từ UserControl thay vì Page. Chúng ta sẽ khai báo ba thuộc tính dùng trong markup.

private string userName;
private int userAge;
private string userCountry;

public string UserName
{
    get { return userName; }
    set { userName = value; }
}

public int UserAge
{
    get { return userAge; }
    set { userAge = value; }
}

public string UserCountry
{
    get { return userCountry; }
    set { userCountry = value; }
}

Nó rất đơn giản và giống class thông thường. Bạn có thể thêm phương thức nếu bạn muốn! UserControl của chúng ta đã xong nhưng như bạn có thể đã có kinh nghiệm bạn không thể dùng. Một UserControl không thể hiển thị trực tiếp trong trình duyệt - nó phải được gọi trong một trang. Chúng ta sẽ làm ở chương sau.


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!