Você não associou seu comando
cmd
com o seu SqlConnection, é por isso que você está recebendo o erro. Você precisa especificar:
cmd.Connection = con;
em seu
submitdata()
método. Como o SqlCommand implementa IDisposable , é melhor se você usá-lo dentro de um bloco como:
using (SqlCommand cmd = new SqlCommand())
{
cmd.Parameters.Clear();
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "insertdata";
cmd.Connection = con;
.... your code
}