我不知道出现此错误的问题似乎是什么。任何人都可以提供一些帮助吗?
protected void send_Click(object sender, EventArgs e)
{
string UserId;
MembershipUser p = Membership.GetUser(User.Identity.Name);
UserId = p.ProviderUserKey.ToString();
string cnnString = ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;
SqlConnection conn = new SqlConnection(cnnString);
string sql = "INSERT INTO [NOTICIA] (COD_EMPREGADO,TITULO,TIPO_CLIENTE,TIPO_ANIMAL,DATA_NOTICIA,DESCRICAO) VALUES (@cod_empregado,@titulo,@tipo_cliente,@tipo_animal,@data_noticia,@descricao) ";
SqlCommand comando = new SqlCommand(sql, conn);
conn.Open();
comando.Parameters.Add(new SqlParameter("@cod_empregado", UserId));
comando.Parameters.Add(new SqlParameter("@titulo", titulo.Text));
comando.Parameters.Add(new SqlParameter("@tipo_cliente", DropDownListCliente.SelectedItem));
comando.Parameters.Add(new SqlParameter("@tipo_animal", DropDownListAnimal.SelectedItem));
comando.Parameters.Add(new SqlParameter("@data_noticia", DateTime.Now));
comando.Parameters.Add(new SqlParameter("@descricao", descricao.Text));
comando.ExecuteNonQuery();
conn.Close();
titulo.Text = "";
descricao.Text = "";
erros.Text = "Noticia publicada com sucesso";
}
错误:
发生了'System.ArgumentException'类型的异常 System.Data.dll但未在用户代码中处理
附加信息:对象类型不存在映射 System.Web.UI.WebControls.ListItem到已知的托管提供程序本机 类型。
答案 0 :(得分:2)
问题是DropDownListCliente.SelectedItem
和/或DropDownListAnimal.SelectedItem
。您不希望将整个项目作为值传递但是将值取出,如下所示:
comando.Parameters.Add(new SqlParameter("@tipo_cliente", DropDownListCliente.SelectedItem.Value));
comando.Parameters.Add(new SqlParameter("@tipo_animal", DropDownListAnimal.SelectedItem.Value));