2010-08-25 39 views

Trả lời

14

Trong ASP.NET 4 cú pháp <%: xyz %> sẽ làm điều tương tự như <%= Server.HtmlEncode(xyz) %> đã làm trong phiên bản trước. Nó chỉ đơn giản là một phím tắt vì nó được sử dụng thường xuyên.

Như Richard nói dưới đây, nó cũng có thể xác định xem một chuỗi không cần phải được mã hóa dựa trên việc nó có triển khai giao diện IHtmlString hay không.

+2

Nó cũng cung cấp để tránh mã HTML nếu loại biểu thức triển khai giao diện 'IHtmlString' - vì vậy các kiểu mã hóa riêng của chúng không cần xử lý đặc biệt. – Richard

8

IIRC, <%: tự động cung cấp mã hóa HTML do đó bạn không cần phải làm điều đó cho mình.

Từ Scott Guthrie's blog post:

Với ASP.NET 4, chúng tôi đang giới thiệu một cú pháp biểu hiện mã mới (<%: %>) mà ám output như <%= %> khối làm - nhưng đó cũng tự động HTML mã hóa nó trước khi làm vì thế.

Đọc bài đăng trên blog để biết thêm chi tiết.

3

<% = Tiêm giá trị trực tiếp trong khi <%: tự động thoát tất cả các ký tự đặc biệt đáng sợ cho bạn.

Nói cách khác,

<%: myString %>

cũng giống như

<%= Server.HtmlEncode(myString) %>

Các vấn đề liên quan