方法“ToString”的重载没有在c#中占用1个参数

时间:2014-09-12 08:05:37

标签: c# date

我有一个数据阅读器,以2014-07-01格式阅读数据库中的日期。

我想以2014年7月的格式显示日期。

代码是链接:

<asp:Label ID="Month" runat="server" 
    Text='<%# Eval("Month").ToString("MMMM yyyy") %>'></asp:Label>

<asp:Label ID="Month" runat="server" 
    Text='<%# Convert.ToDateTime(Eval("Month").ToString("MMMM yyyy")) %>'></asp:Label>

但是我遇到了这个错误:

Compiler Error Message: CS1501: 
No overload for method 'ToString' takes 1 arguments

这开始让我相信我的整体结构是不正确的。

我错过了什么?

代码有什么问题?

我非常感谢您在解决这个问题时能给我的任何帮助。

1 个答案:

答案 0 :(得分:0)

您需要了解Eval()返回的类型,即object。 Type对象没有带任何参数的ToString()。但是,DateTime可以。

首先将“Month”强制转换为DateTime,然后使用日期时间格式字符串调用ToString():

Convert.ToDateTime(Eval("Month")).ToString("MMM yyyy")