Bạn không thể sử dụng <%= ... %>
để thiết lập thuộc tính của điều khiển phía máy chủ. Biểu thức nội tuyến <% %>
chỉ có thể được sử dụng tại trang aspx hoặc cấp tài liệu hàng đầu của điều khiển người dùng, nhưng không thể được nhúng trong thuộc tính thẻ của điều khiển máy chủ (chẳng hạn như <asp:Button... Text =<% %> ..>
).
Nếu TextBox của bạn nằm trong các điều khiển DataBound như GridView, ListView .. bạn có thể sử dụng: cú pháp <%# %>
. HOẶC bạn có thể gọi rõ ràng DataBind()
trên điều khiển từ mã lệnh phía sau hoặc tập lệnh máy chủ nội dòng.
<asp:TextBox runat="server" ID="txtbox" class='<%# TEXTBOX_CSS_CLASS %>' />
// đang Đằng sau tập
protected void Page_Load(object sender, EventArgs e)
{
txtbox.DataBind();
}
ASP.NET bao gồm vài built-in xây dựng biểu thức cho phép bạn trích xuất các thiết lập ứng dụng tùy chỉnh và chuỗi kết nối thông tin từ tập tin web.config
. Ví dụ:
- Tài
- connectionStrings
- AppSettings
Vì vậy, nếu bạn muốn lấy một thiết lập ứng dụng có tên className
từ phần <appSettings>
của tập tin web.config
, bạn có thể sử dụng các biểu thức sau đây :
<asp:TextBox runat="server" Text="<%$ AppSettings:className %>" />
Tuy nhiên, đoạn mã trên không phải là tiêu chuẩn để đọc tên lớp từ Appsettings.
Bạn có thể xây dựng và sử dụng một trong hai tùy chỉnh của riêng bạn ExpressionBuilders
hoặc Sử dụng mã đằng sau như:
txtbox.CssClass = TEXTBOX_CSS_CLASS;
Check this link vào việc xây dựng các nhà xây dựng Tuỳ chỉnh biểu. Khi bạn tạo Biểu thức tùy chỉnh, bạn có thể hiển thị giá trị như:
<asp:TextBox Text="<%$ SetValue:SomeParamName %>"
ID="setting"
runat="server" />
Nguồn
2013-09-23 07:08:58
cú pháp <% # lạ đến từ đâu? – spankmaster79
@ spankmaster79: chỉ cần đọc câu trả lời ở trên để có giải thích chi tiết. – naveen