Gridview  中有一个模板列,我希望绑定的是系统的时间,不是数据源中的字段 :
<asp:Label runat="server" Text='<%# Eval(DateTime.Now.ToString()) %>'></asp:Label>
这样写会报错,error:DataBinding: 'System.Data.DataRowView' does not contain a property with the name '2010-9-14 10:38:40'. 请问应该如何修改。
PS: 用Eval绑定的是不是一定是数据源中的列?

解决方案 »

  1.   

    val绑定的是不是一定是数据源中的列,但如果是系统时间,那有这么麻烦
    Text='<%=DateTime.Now.ToString() %>'这样就行了
      

  2.   

    顶一下
    <%# Eval()%>是用于数据源的绑定
    <%=DateTime.Now.ToString() %>源码和页面在一起的情况,类似于java的写法
      

  3.   

     foreach (GridViewRow item in GridView1.Rows)
                {
                    Label lb = (Label)item.FindControl("Label1");
                    lb.Text = DateTime.Now.ToString();
                }
      

  4.   

    <asp:Label ID="lbl" runat="server" Text="<%# DateTime.Now%>"></asp:Label>
      

  5.   

    Eval绑定的是数据源中的列去掉 # 和 eval 换成 =号 或者Text="<%# DateTime.Now%>">
      

  6.   

    问题解决了 。6楼大哥的正确的,
    <%=DateTime.Now.ToString() %>这个方法 貌似我这边显示的label 是空值