当前位置: 代码迷 >> ASP.NET >> System.Int32”对象转换“System.String”。 有关问题
  详细解决方案

System.Int32”对象转换“System.String”。 有关问题

热度:5906   发布时间:2013-02-26 00:00:00.0
System.Int32”对象转换“System.String”。 问题
我使用了一个objectdatasource绑定了gridview
使用删除的时候碰到了
类型“System.Int32”的对象无法转换为类型“System.String”。  
的问题,请问怎么解决?
objectdatasource的起始参数是这么写的
      <DeleteParameters>
                                <asp:Parameter   Name= "id "   Type= "String "   />
                        </DeleteParameters>

当触发删除时间的时候后置代码里是:
  protected   void   grv_RowDeleting(object   sender,   GridViewDeleteEventArgs   e)
        {
objectdatasource.DeleteParameters.Add( "id ",   grv.DataKeys[e.RowIndex].Value.ToString());
}

------解决方案--------------------------------------------------------
protected void grv_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
obj.DeleteParameters.Clear();
objectdatasource.DeleteParameters.Add( "id ",SqlDbType.VarChar,500);
objectdatasource.DeleteParameters[0].Value = grv.DataKeys[e.RowIndex].Value.ToString();
grv.DataBind();
}

这样试试看
------解决方案--------------------------------------------------------
protected void grv_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
obj.DeleteParameters.Clear();
objectdatasource.DeleteParameters.Add( "id ",SqlDbType.VarChar,500);
objectdatasource.DeleteParameters[0].Value = grv.DataKeys[e.RowIndex].Value.ToString();
grv.DataBind();
}

这样试试看

------解决方案--------------------------------------------------------
grv.DataKeys[e.RowIndex].Value 有没有值哦?
  相关解决方案