<%=%>标记无法显示ASP Label控件内的内容

A.D*_*.D. 1 c# asp.net

Noob问题.为什么这不适用于我的.aspx文件?

<body> 
<asp:Label ID="Label1" runat="server" Text='<%=System.DateTime.Today.Day.ToString()%>' ></asp:Label>
</body>
Run Code Online (Sandbox Code Playgroud)

它确实显示<%= System.DateTime.Today.Day.ToString()%>字符串,这显然不是我想要的.

如果我尝试在变量后面显示代码的内容,结果相同:

<asp:Label ID="label" runat="server" Text='<%= versionNumber %>' >
Run Code Online (Sandbox Code Playgroud)

versionNumber正确实例化并设置为后面的代码.

Han*_*ing 6

您不能将服务器控件与代码块混合使用.

有两种方法可以解决这个限制:

  • 只是在<%=System.DateTime.Today.Day.ToString()%>没有Label它的情况下使用
  • 使用codebehind进行设置 Label1.Text = System.DateTime.Today.Day.ToString();

第一种方式是向用户显示日期,但您无法从代码隐藏中进一步更改日期.第二种方法可以让您从代码隐藏中更改文本.