我使用了一个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 有没有值哦?