The
ToString() method of the
sno
variable is producing a string that the .NET framework does not know how to convert to an Int.
Try to debug,
stop at the line:
sno = grdfirmord.DataKeyNames.ToString();
or at
obGet.SubscriptionNo = Convert.ToInt32(sno.ToString());
and see what the value of sno is, you will probably pretty soon find the issue.
* BTW, sno is already a string, and you convert it to string again in the second line there.
Cheers,
Edo