Pages

Thursday, November 4, 2010

ASPX VÀ CÁC TAG INLINE

<%-- ... --%>

* Tên: Server Comment
* Công dụng: dùng để comment các code theo dạng comment của server ngôn ngữ lập trình. Các đoạn code trong comment này không được trình biên dịch thực thi.
* Ghi chú: Không được lồng (nested) các server comment này với nhau
* Ví dụ:

<%--

--%>



* Tên: HTML Comment
* Công dụng: dùng để comment code HTML, khi này trình biên dịch sẽ render dữ liệu trong phần code comment này cũng như thực thi các hàm (nếu có)...
* Ghi chú: hạn chế dùng HTML comment, nên dùng Server Comment
* Ví dụ:



<% ... %>

* Tên: Embedded Code Blocks
* Công dụng: thực thi một tập lệnh của ngôn ngữ lập trình mà trang aspx đang chọn.
* Ghi chú:
* Ví dụ:

<% if (User.IsInRole("admin")) { %>
You can see this
<% } else { %>
You are no admin fool!
<% } %>

<%= ... %>

* Tên: Displaying
* Công dụng: dùng để render ra 1 chuỗi (hoặc 1 số) tại vị trí để tag này.
* Ghi chú:
* Ví dụ:

The Date is now <%= DateTime.Now.ToShortDateString() %>

Tag <%= .. %> có thể tương đương với tag <% .. %> bằng cách sau


The Date is now <% CurrentDateTime(); %>

<%# ... %>

* Tên: Data-Bind
* Công dụng: kết hợp với hàm Eval() hoặc Bind() để lấy dữ liệu từ các control dữ liệu như: DataGrid, ListView, Repeater, ....
* Ghi chú:
* Ví dụ:



<%# Eval("MeetingName") %>



<%$ ... %>

* Tên: ASP.NET expression
* Công dụng: sử dụng như một biểu thức, và thường đi với các DataSource
* Ghi chú:
* Ví dụ:

+ Nội dụng file web.config



connectionString="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind;"
providerName="System.Data.SqlClient" />




+ Nội dung file aspx

SelectCommand="SELECT * FROM [Employees]"
ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString1 %>">


<%@ ... %>

* Tên: Directive Syntax
* Công dụng: dùng để khai báo các dẫn xuất, và thường được đặt ở đầu trang aspx
* Ghi chú:
* Ví dụ:

<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" Title="Untitled Page" %>
<%@ Register TagPrefix="wp" Namespace="CustomWebParts" %>

<%: ... %>

* Tên: code-nugget expressions
* Công dụng: tương đương tag <%= ... %>, tuy nhiên lúc này asp.net engine tự động encoding phần output
* Ghi chú: Chỉ có tác dụng đối với asp.net 4. (và những ai lập trình asp.net 4 trở lên thì khuyên dùng tag <%: .. %> này hơn là dùng tag: <%= ... %>
* Ví dụ: hai ví dụ 1 và 2 dưới đây là tương đương nhau, tuy nhiên chỉ có ví dụ 2 thì phải chạy trên nền .NET 4

+ Ví dụ 1


<%= Server.HtmlEncode("This is a test ") %>


+ Ví dụ 2


<%: "This is a test " %>


Hy vọng bài viết giúp bạn hiễu rõ thêm đôi chút về các tag inline của asp.net. Bài viết còn nhiều thiếu sót mong các bạn thông cảm.