Có ai có thể giải thích tại sao bạn không thể sử dụng các khối mã nội tuyến trong các khai báo kiểm soát máy chủ trong ASP.Net không?Có cách nào để khai báo các giá trị thuộc tính mã phía sau để điều khiển máy chủ không?
Sau đây là một ví dụ đơn giản ...
....
<form id="form1" runat="server">
<asp:Label ID="Label1" runat="server" Text="<%= SomeProperty %>"></asp:Label>
</form>
....
Các khối mã được render theo nghĩa đen để trang ...
<span id="Label1"><%= SomeProperty %></span>
những suy nghĩ ban đầu của tôi là nó đã làm với thứ tự rằng những thứ này được xử lý trong vòng đời của trang. Các khối <%=...%>
là, như tôi hiểu nó, tương đương với một số Response.Write(...)
trong mã sau. Và vì điều khiển máy chủ không thực sự được hiển thị như được khai báo trong đánh dấu, tôi cho rằng nó có thể không thể xử lý một khối mã được nhúng trước khi việc hiển thị này diễn ra.
Tôi sẽ rất biết ơn bất kỳ ai có thể giải thích tốt hơn một chút.
Tuy nhiên, dữ liệu ràng buộc khối mã <%#...%>
rõ ràng là khác nhau trong cách ứng xử, nhưng bất cứ ai có thể cho tôi biết lý do tại sao người ta có thể nhúng các bên trong một điều khiển máy chủ ...
....
<asp:Repeater id=Repeater1 runat="server">
....
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Eval(“SomeProperty”) %>'></asp:Label>
</ItemTemplate>
....
</asp:Repeater>
....
tác phẩm này khỏe.
[Thiết lập thuộc tính Visible với máy chủ thẻ <%= %> trong Framework 3.5] (http://stackoverflow.com/questions/9595851/set-visible-property-with-server-tag-in-framework-3-5) –