Tôi không thể khẳng định được thực sự quen thuộc với các mẫu văn bản T4, nhưng nó xuất hiện sự khác biệt là giữa thiết kế/xây dựng hệ mã thời gian (có thể bao gồm báo cáo thực thi) và thực thi mã runtime .
Vì vậy, <#= #>
đánh giá biểu thức trong mẫu được sử dụng để tạo tệp.
Và <%= %>
thực thi mã trong khối và viết mã đó vào luồng đầu ra. Điều này sẽ được JIT biên dịch khi trang được thực hiện lần đầu tiên, nhưng vấn đề là nó biểu thị một khối mã để thực thi khi trang chạy, không phải trong quá trình tạo một tệp mẫu.
Biểu mẫu thứ ba, <%# %>
biểu thị biểu thức dữ liệu, cũng được đánh giá khi trang thực thi.
khối điều khiển biểu
Một khối điều khiển biểu hiện toán một biểu thức và chuyển đổi nó để một chuỗi. Điều này được chèn vào tập tin đầu ra.
khối điều khiển biểu được delimted bởi những biểu tượng < # = ... #>
Ví dụ, khối điều khiển sau sẽ khiến cho các tập tin đầu ra để chứa "5":
<#= 2 + 3 #>
Nguồn: http://msdn.microsoft.com/en-us/library/bb126478
Nguồn
2012-08-08 23:48:10
xem qua tài liệu, nó có tất cả cú pháp của '<% %> '. Rất giống nhau. – codingbiz
Trong quá trình tạo văn bản T4 <# = DateTime.Now #> được đánh giá và kết quả được ghi vào đầu ra. AFAIK <%= %> có nghĩa là không có gì đối với Động cơ T4 và chỉ được viết như vậy. – FuleSnabel
@ FuleSnabel Tôi không biết sự khác biệt, tôi mới đến T4, tôi nghĩ đó là một cách khác để viết biểu thức là asp.net. Chỉ là lạ với tôi – codingbiz