Sự khác nhau giữa các inline output tag , và trong ASP.NET

Khi viết ASP.NET, nhất là với MVC, các bạn chú ý mấy điểm khác biệt sau để phun (write output) dữ liệu ra đúng ý mình nhé:

  • <%= expressions %> được thực hiện tại thời gian render (pha OnRender) trang ASPX
  • <%# expressions %> được thực hiện khi ta gọi phương thức DataBind(), và thẻ này sẽ không được thực hiện nếu ta không gọi phương thức DataBind()
  • <%# expressions %> có thể được sử dụng trong thuộc tính của các server controls, còn <%= %> không thể làm giá trị trong các thuộc tính cho các server controls

Cập nhật:

Với ASP.NET MVC và ASP.NET 4  trong Visual Studio 2010, có thêm một tính năng mới nữa là <%: expression %> giúp viết code markup ngắn gọn dễ đọc hơn.

<%: ViewData[“Message”] %> tương tự như viết  <%= Html.Encode(ViewData[“Message”]) %>

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s