June - 2010
15
<%-- ... --%>
- 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ụ:
<%-- <asp:button runat="server" id="MyButton" OnClick="MyButton_Click" /> --%>
<!-- -->
- 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ụ:
<!-- <b>This HTML code you can see in the view source page</b> -->
<% ... %>
- 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
<script runat="server">
public void CurrentDateTime()
{
Response.Wirte(DateTime.Now.ToShortDateString());
}
</script>
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ụ:
<asp:Repeater ID="rptMeetings" DataSourceID="meetings" runat="server">
<ItemTemplate>
<%# Eval("MeetingName") %>
</ItemTemplate>
</asp:Repeater>
<%$ ... %>
- 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
<configuration>
<connectionStrings>
<add name="NorthwindConnectionString1"
connectionString="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind;"
providerName="System.Data.SqlClient" />
</connectionStrings>
<!-- additional settings -->
</configuration>
+ Nội dung file aspx
<asp:SqlDataSource ID="SqlDataSource1" Runat="server"
SelectCommand="SELECT * FROM [Employees]"
ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString1 %>">
</asp:SqlDataSource>
<%@ ... %>
- 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
<div>
<%= Server.HtmlEncode("This is a test <s.t.r.i.n.g>") %>
</div>
+ Ví dụ 2
<div>
<%: "This is a test <s.t.r.i.n.g>" %>
</div>
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. (Tuy nhiên nếu Phước thiếu tag inline nào, bạn có thể comment cho Phước biết được không ? thanks.)