将“String”转换为“System.IFormatProvider”时出错

时间:2013-01-22 23:12:15

标签: asp.net vb.net

我有一个嵌套Gridview的页面,我试图通过从外部网格的每一行拉一个字符串值来填充内部网格。当我尝试将值从外部网格传递给字符串变量时,我得到“将'String'转换为'System.IFormatProvider'时出错”错误。我正在使用以下代码将gridview单元格值存储到变量:

 Dim Svc_Name As String = grdOuterGridView.DataKeyNames(e.Row.RowIndex).ToString("THIRD_PARTY_SERVICE")

谁能告诉我这里我做错了什么?感谢。

1 个答案:

答案 0 :(得分:1)

DataKeysNames已经是一个字符串数组,你不需要ToString(....)部分。

 Dim Svc_Name As String = grdOuterGridView.DataKeyNames(e.Row.RowIndex)

实际上你的错误来自ToString(“THIRD_PARTY_SERVICE”)。带有一个参数的ToString()重写需要一个实现IFormatProvider接口的对象,但当然一个字符串没有这个接口,因此错误。但是,在String上调用ToString()无效,因为您可以从MSDN docs

中读取
  

返回String的这个实例;没有进行实际转换。