对象类型System.Web.UI.WebControls.ListItem中不存在任何映射

时间:2014-05-30 01:15:33

标签: c# asp.net

我不知道出现此错误的问题似乎是什么。任何人都可以提供一些帮助吗?


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到已知的托管提供程序本机   类型。

1 个答案:

答案 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));