在ASPX的网页中有如下语句,但是取出的日期数据是2007-11-18 0:00:00,如要显示为2007-11-18的格式应如何做?数据库为MSSQL,该字段为日期格式。
      <asp:TemplateField HeaderText="购买日期">
        <ItemTemplate>
           <asp:TextBox ID="txtBuyDate" runat="server" Text='<%#Eval("BuyDate")%>' Width="80px"      
                BorderStyle="None" ReadOnly="true"></asp:TextBox>        
        </ItemTemplate>
      </asp:TemplateField>

解决方案 »

  1.   

    Text=' <%#Eval("BuyDate")%>
    改成:
    Text=' <%#DateTime.Parse(Eval("BuyDate")).ToShortDateString()%>
      

  2.   

    哈哈,这个我在项目中就会要特别强调时间格式一致性 (即长度一致,类型一致)楼主要什么样的格式,大家做的时候要都能想到
    一楼的格式会有一些问题的当日期的格式为   2007-11-18   0:00:00  ,一楼的没有问题,
     
    但当日期的格式为   2007-01-18   0:00:00   时一楼的显示则是 2007-1-18看到问题了吗,  2007-01-18 中的月份为一位了我下面的方面就会补全BuyDate 字段要是时间格式,如不是则要转换成时间格式.Text = '<%#DataBinder.Eval(Container.DataItem,"BuyDate","yyyy-MM-dd")%>'
      

  3.   


    不行啊,出错,请再帮忙看看错误 91 参数“1”: 无法从“object”转换为“string” E:\res\Input.aspx 124

      

  4.   

    改成:
    Text='   <%#DateTime.Parse(Eval("BuyDate").ToString()).ToShortDateString()%> 
      

  5.   

    TO cefriend:我试过,不行啊,运行后没有数据,只是显示"yyyy-MM-dd"
    TO zhuanshen712:问题解决,谢谢啦!
      

  6.   

    <%#DataBinder.Eval(Container.DataItem, "BuyDate", "{0:yyyy.MM.dd}")%>