服务器控件的内联页面代码永远不起作用

本文关键字:代码 永远 不起作用 服务器控件 | 更新日期: 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()才能对其求值。