日期:2014-05-18  浏览次数:20531 次

有关<asp:Label>控件的问题

<asp:Label ID="Label3" runat="server" Text="<%=DateTime.Now.ToString() %>"></asp:Label>
该标记输出为空
 
写成这样就可以显示当前日期
<asp:Label ID="Label2" runat="server" ><%=DateTime.Now.ToString() %></asp:Label>
 
第一种写法为什么不行? 请详细说明一下原因!谢谢!


------解决方案--------------------
后面也不行吧!
不是<%=DateTime.Now.ToString() %,而是<%#DateTime.Now.ToString() %,不是“=”号的
绑定控件还要在后台代码Page_Load方法中
输入:
Label1.DataBind():
------解决方案--------------------
我觉得楼主应该注意:
楼主的第一种写法是把 <%%>结构当作字符串处理的,在生成HTML的时候 它直接生成了 <%=DateTime.Now.ToString() %>字符串, 在HTML里面没办法显示.
我试着将 runnat=server 去掉写成这个样子: <asp:Label ID="Label3" text=<%=DateTime.Now.ToString() %> ></asp:Label> 
最后查看HTML DATETIME.NOW.TOSTRING()得到了正确的数据,但是它是放到<span text="2008-.....>里面的,SPAN 没有TEXT这个属性
第二种写法 楼上的几位已经说了,我就不赘叙了~
------解决方案--------------------
探讨
1 <asp:TextBox ID="TextBox1" runat="server" Text=" <%=DateTime.Now.ToString() %>"> </asp:TextBox>
2 <input type="text" value=" <%=DateTime.Now.ToString() %>" />
页面运行后第一个文本框的值为: <%=DateTime.Now.ToString()
第二个文本框的值为:2009-1-6 12:22:54

------解决方案--------------------
<asp:Label ID="Label3" runat="server" Text=" <%#DateTime.Now.ToString() %>"> </asp:Label> 
label在服务器端运行,所以在后台代码page_load中加上:
protected void Page_Load(object sender, EventArgs e)
{
Page.DataBind();
}
就可以了