Vous n'avez pas associé votre commande cmd
avec votre SqlConnection, c'est pourquoi vous obtenez l'erreur.
Vous devez spécifier :
cmd.Connection = con;
dans votre submitdata()
méthode.
Puisque SqlCommand implémente IDisposable , c'est mieux si vous l'utilisez dans un bloc comme :
using (SqlCommand cmd = new SqlCommand())
{
cmd.Parameters.Clear();
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "insertdata";
cmd.Connection = con;
.... your code
}