2010-10-04 206 views
1

嗨,我使用此代码参数太多错误

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

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

任何人都可以建议任何时候得到一个错误?我想我会转换成一个友好的日期格式,但它不会工作

这是错误

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

感谢

杰米

回答

2

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

String.ToString()将String作为参数不存在重载。你可能会想尝试类似:

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

我用工具从C#到VB转换,所以在这里你去...

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

贾斯汀pointed out,对于String.ToString()没有超载它将一个字符串作为参数。但是,有overloadsDateTime.ToString()one 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()以确保按照适当的格式解析日期。

0

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