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

时间:2016-11-16 10:12:16

标签: c# asp.net

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

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

它显示&lt;%= System.DateTime.Today.Day.ToString()%&gt;字符串显然不是我想要的。

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

<asp:Label ID="label" runat="server" Text='<%= versionNumber %>' >

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

3 个答案:

答案 0 :(得分:6)

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

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

  • 只需使用 var agent = new apnagent.Agent(); module.exports = agent; 而不使用<%=System.DateTime.Today.Day.ToString()%>
  • 使用codebehind设置Label

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

答案 1 :(得分:3)

确实,您无法将服务器控件与代码块混合,

如果您必须使用服务器端控制,并且您甚至不想从代码中设置值,那么您可以选择此解决方案。

<asp:Label ID="Label1" runat="server"><%=System.DateTime.Today.Day.ToString() %></asp:Label>

同样,您可以使用变量后面的代码,如下所示,

<asp:Label ID="Label1" runat="server"><%=versionNumber %></asp:Label>

答案 2 :(得分:1)

如果您真的想使用asp:Label

按如下方式使用:

<asp:Label ID="Label1" runat="server"><%=System.DateTime.Today.Day.ToString() %></asp:Label>