Asp.net 不存在从对象类型System.Web.UI.WebControl.ListItem到已知托管提供程序本机类型的映射
我想我看到了问题:Asp.net 不存在从对象类型System.Web.UI.WebControl.ListItem到已知托管提供程序本机类型的映射,asp.net,Asp.net,我想我看到了问题: protected void btnsubmit_Click(object sender, EventArgs e) { if (rbtmale.Checked) { gender = "male"; } else if(rbtfemale.Checked) { gender = "female"; } if
protected void btnsubmit_Click(object sender, EventArgs e)
{
if (rbtmale.Checked)
{
gender = "male";
}
else if(rbtfemale.Checked)
{
gender = "female";
}
if (cbxsd.Checked)
{
designation = "sd";
}
else if (cbxasd.Checked)
{
designation = "asd";
}
else if (cbxtrainee.Checked)
{
designation = "trainee";
}
if (cbxbsc.Checked)
{
qua = "BSc";
}
else if (cbxbca.Checked)
{
qua = "BCA";
}
else if (cbxbtech.Checked)
{
qua = "BTech";
}
else if (cbxmca.Checked)
{
qua = "MCA";
}
else if (cbxmba.Checked)
{
qua = "MBA";
}
SqlConnection con = new SqlConnection(s1);
SqlCommand cmd = new SqlCommand("sp_2", con);
cmd.CommandType = CommandType.StoredProcedure;
con.Open();
cmd.Parameters.AddWithValue("@id", txtid.Text.Trim());
cmd.Parameters.AddWithValue("@name",txtname.Text.Trim());
cmd.Parameters.AddWithValue("@age",txtage.Text.Trim());
cmd.Parameters.AddWithValue("@sex",gender);
cmd.Parameters.AddWithValue("@addr",txtaddr.Text.Trim());
cmd.Parameters.AddWithValue("@hq",qua);
cmd.Parameters.AddWithValue("@company",ddlcompany.SelectedItem);
cmd.Parameters.AddWithValue("@desig",designation);
cmd.Parameters.AddWithValue("@mob",txtmob.Text.Trim());
cmd.Parameters.AddWithValue("@email", txtemail.Text.Trim());
cmd.Parameters.Add("@msg", SqlDbType.VarChar, 20).Direction = ParameterDirection.Output;
cmd.ExecuteNonQuery();
//if (i > 0)
//{
// Label1.Text = "successfully inserted";
//}
//else
//{
// Label1.Text = "failed to insert";
//}
string s2 = cmd.Parameters["@msg"].Value.ToString();
Response.Write(s2);
con.Close();
}
应为ddlcompany.SelectedIndex
或ddlcompany.SelectedValue
ddlcompany.SelectedItem引用的是
列表项本身,而不是值。只需在代码行下方更改此项即可
cmd.Parameters.AddWithValue("@company",ddlcompany.SelectedItem);
到
它将在SelectedItem需要转换为字符串类型时工作欢迎使用SO!考虑正确设置问题的格式,以询问特定的问题,并将代码简化为仅存在问题的部分。除非你改进这个问题,否则它肯定会被标记。
cmd.Parameters.AddWithValue("@company",ddlcompany.SelectedItem);
cmd.Parameters.AddWithValue("@company",ddlcompany.SelectedItem.ToString());