2016-11-16 40 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>