参数太多错误

时间:2010-10-04 17:06:07

标签: asp.net datetime session

嗨,我在使用此代码时遇到错误

Session("formatdate") = Left(drv.Row("booking_status"), 10)

Session("formatdate").ToString("dd-MMM-yyyy")

有人可以提出任何建议吗?我正在尝试将我的会话转换为友好的日期格式,但它无法正常工作

这是错误

Too many arguments to 'Public Overridable Function ToString() As String'.

由于

杰米

4 个答案:

答案 0 :(得分:2)

Left(drv.Row("booking_status"), 10)返回一个字符串。

String.ToString()没有重载,它将String作为参数。你可能想尝试类似的东西:

Session("formatdate") = DateTime.Parse(Left(drv.Row("booking_status"), 10)) _
                                .ToString("dd-MMM-yyyy");

答案 1 :(得分:0)

我使用了一个工具从C#转换为VB,所以在这里你......

Dim formattedDate As String = [String].Format("{0:C}", Session("formatdate"))

答案 2 :(得分:0)

作为Justin pointed outString.ToString()没有以字符串作为参数的重载。但是,DateTime.ToString()有几个overloadsone of which确实需要一个字符串。
要利用此方法,您需要将Session("formatdate")转换为DateTime对象:

Session("formatdate") = Left(drv.Row("booking_status"), 10) = Left(drv.Row("booking_status"), 10)

DateTime temp;

// Ensure date parsed successfully
if (DateTime.TryParse(Session("formatdate"), out temp)
{
   string formattedDate = temp.ToString("dd-MMM-yyyy");
}

请注意,如果您知道Session("formatdate")将采用的格式,则可以使用DateTime.TryParseExact()而不是TryParse()来确保按照正确的格式解析日期。< / p>

答案 3 :(得分:0)

您需要在会话中存储DateTime(“formatdate”),然后使用((DateTime) Session("formatdate")).ToString("dd-MM-yyyy");