Non hai associato il comando cmd
con il tuo SqlConnection, ecco perché stai ricevendo l'errore.
Devi specificare:
cmd.Connection = con;
nel tuo submitdata()
metodo.
Poiché SqlCommand implementa IDisposable , è meglio se lo usi all'interno di un blocco come:
using (SqlCommand cmd = new SqlCommand())
{
cmd.Parameters.Clear();
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "insertdata";
cmd.Connection = con;
.... your code
}