asp.net如何获取listbox字符串 -------------输入字符串的格式不正确

来源:百度知道 编辑:UC知道 时间:2024/05/25 18:38:32
if (txt_sectionname.Text != "")
{
int subjectid = Convert.ToInt32(list_section.SelectedItem.Value); -------------输入字符串的格式不正确
SqlConnection con = DB.Createconnection();
SqlCommand cmd = new SqlCommand("insert into Section values(@sectionname,@subjectID)", con);
cmd.Parameters.AddWithValue("@sectionname", txt_sectionname.Text);
cmd.Parameters.AddWithValue("@subjectID", subjectid);
try
{
con.Open();
cmd.ExecuteNonQuery();
lbl_section_msg.Text = "添加成功!";
lbl_section_msg.ForeColor = System.Drawing.Color.Green;
}
catch (SqlException ex2)
{
lbl_section_msg.Text = (ex2.Message);
}
finally
{

获取listbox的值.你这么写是可以的.

一般都写成这样儿:

this.list_section.SelectedValue;

这里不应该是你取值的问题.而是你listbox中各项的值.是否都是数字.

你在这里加个断点.看看你取出的list_section.SelectedValue到底是不是数字.

---------------------

那就说明你取出的val根本就不是数字嘛..

首先你得明白"值"和"文本"的区别.

文本呢.就是listbox上面.显示给用户看的.也就是list_section.SelectedItem.Text.

而值呢.是某行值所对应的值.用户一般是看不到的.也就是你所取出的list_section.SelectedItem.Value.

你从数据库拿出的数据应该是要给客户看的吧?那就绑定它的Text值.而Value呢.你可以把每行的ID或者数据标识列赋给它.