服务器控件的内联页面代码永远不起作用
本文关键字:代码 永远 不起作用 服务器控件 | 更新日期: 2023-09-27 18:19:28
我尝试了以下代码,我尝试使用内联表达式,如<%<%=,为什么我不能将内联表达式与服务器端控件一起使用?
在我的第一行代码中,我试图遵循这篇文章,但它不起作用。为什么?http://todotnet.com/post/2009/04/18/Working-around-Cannot-create-an-object-of-type-SystemBoolean-from-its-string-representation.aspx
<asp:TextBox ID="txtDate" runat="server" Text='<%# DateTime.Now.Date.ToString("dd-MM-yyyy")%>' meta:code='<% txtDate.DataBind(); %>'></asp:TextBox>
<asp:TextBox ID="TextBox1" runat="server" Text='<%= DateTime.Now.Date.ToString("dd-MM-yyyy")%>'></asp:TextBox>
<asp:TextBox ID="TextBox2" runat="server" Text='<% DateTime.Now.Date.ToString("dd-MM-yyyy")%>'></asp:TextBox>
不能在服务器端控件中使用代码块(<%%>
、<%=%>
和<%:%>
)。结合表达(<%#%>
)是另一回事。
你需要了解快捷方式服务器端代码块之间的差异,只是随机尝试不同的代码块,因为你所做的似乎不会教会你什么。
您可以在代码隐藏文件中分配值:
TextBox1.Text = DateTime.Now.Date.ToString("dd-MM-yyyy");
绑定表达式<%# %>
时,必须调用Control.DataBind()
或Page.DataBind()
才能对其求值。