2016-11-16 83 views
1

Noob问题。 为什么这不起作用到我的.aspx文件?<%= %>标记无法显示ASP标签控件内的内容

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

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

同样的结果,如果我尝试显示的代码隐藏变量内容:

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

VERSIONNUMBER得到妥善实例化,并设置到后面的代码。

回答

6

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

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

  • 只需使用<%=System.DateTime.Today.Day.ToString()%>的周围没有一个Label
  • 使用代码隐藏设置Label1.Text = System.DateTime.Today.Day.ToString();

第一种方式将显示日期用户,但是你不能从代码隐藏进一步改变它。 第二种方法确实可以让您从代码隐藏中更改文本。

3

你不能用代码块混合服务器控件这是真的,

如果它强制你使用服务器端控件,你甚至不希望设置从后面的代码值,那么你可以去为此解决方案。

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

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

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

如果你真的想用一个asp:Label

使用它,如下所示:

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