asp.net – ‘没有重载的方法’ToString’采取’1’参数’错误发生时格式化日期字段到字符串ON“dd-MM-yyyy”格式

前端之家收集整理的这篇文章主要介绍了asp.net – ‘没有重载的方法’ToString’采取’1’参数’错误发生时格式化日期字段到字符串ON“dd-MM-yyyy”格式前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我一直在使用asp.net 3.5.我想将一个DateTime数据从sqldatareader转换为“dd-MM-yyyy”格式的字符串。
但是当我使用“dd-MM-yyyy”格式化参数为“rdMonthlyLeave [”LEAVE_DATE“]时,ToString(”dd-MM-yyyy“)”浏览器返回编译错误

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

你有解决办法吗?

解决方法

您需要先将其转换为DateTime:
DateTime leave = (DateTime) rdMonthlyLeave["LEAVE_DATE"];
DoSomethingWith(leave.ToString("dd-MM-yyyy"));

要不就

((DateTime)rdMonthlyLeave["LEAVE_DATE"]).ToString("dd-MM-yyyy")

DataReader索引器的返回类型只是对象,对象没有ToString的重载,它接受一个字符串。不要忘记,重载是编译时的决定 – 编译器使用兼容签名选择适当的方法,只有基于执行时类型才能覆盖。在这种情况下,没有ToString与兼容的签名重载,所以你得到一个编译时错误

猜你在找的asp.Net相关文章