读书人

有关lt;asp:Labelgt;控件的有关问题

发布时间: 2012-02-04 15:43:09 作者: rapoo

有关<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();
}
就可以了

读书人网 >asp.net

热点推荐