DropDownList默认值的设定
发现DropDownList是否绑定数据库和默认值的设定用的语句有影响,但是我没有弄明白是为什么。
绑定数据库的DropDownList:
eg:DropDownList1.SelectedValue=string; //string就是刚进页面时你要DropDownList所选的值。
非绑定数据库的DropDownList:
eg:DropDownList1.Items.FindByText(string).Selected=true; //string就是刚进页面时你要DropDownList所选的值。
用DropDownList1.Text的话,如果你的string不是第一个item,那么string就会冲掉第一个item,这样就导致第一个 item没有了,而string就会出现两个。其他的方式,如用SelectedItem,或者绑定的和非绑定的用一样的语句,会造成各种各样的错误(有 些情况是初始化的时候没错误,但是下面你取值提交的时候就会发生错误)。
进入页面之后,对DropDownList重新选Item,提交时,取DropDownList所选的Item时,绑定的和非绑定的就没有什么区别了,用DropDownList1.SelectedItem.Text就OK了~
如何让一个DropDownList绑定值后默认值为空
SqlConnection con = new SqlConnection("server=.;uid=sa;database=pubs");
SqlDataAdapter sdr = new SqlDataAdapter("select * from employee",con);
DataSet ds = new DataSet();
sdr.Fill(ds);
DropDownList1.DataSource = ds;
DropDownList1.DataTextField = "emp_id";
DropDownList1.DataBind();
DropDownList1.Items.Add(" ");
DropDownList1.Items[this.DropDownList1.Items.Count - 1].Value = " ";
DropDownList1.SelectedIndex = this.DropDownList1.Items.Count - 1;
在dropdownlist控件的DataValueField里添上你的数据库中的主键的字段名(一般来说),在DataTextField里添上你的数据在数据库中的字段名。这些都可以在设计页面中设置dropdownlist的属性完成;
假如已经有一个ds了,而且已经fill了
dropdownlist1.DataSource = ds;
dropdownlist1.DataBind();
//然后如果还想要当前项的文本为somestring的时候,
dropdownlist1.Selectedindex = dropdownlist1.items.indexof(dropdownlist1.items.findbytext(somestring));
发现DropDownList是否绑定数据库和默认值的设定用的语句有影响,但是我没有弄明白是为什么。
绑定数据库的DropDownList:
eg:DropDownList1.SelectedValue=string; //string就是刚进页面时你要DropDownList所选的值。
非绑定数据库的DropDownList:
eg:DropDownList1.Items.FindByText(string).Selected=true; //string就是刚进页面时你要DropDownList所选的值。
用DropDownList1.Text的话,如果你的string不是第一个item,那么string就会冲掉第一个item,这样就导致第一个 item没有了,而string就会出现两个。其他的方式,如用SelectedItem,或者绑定的和非绑定的用一样的语句,会造成各种各样的错误(有 些情况是初始化的时候没错误,但是下面你取值提交的时候就会发生错误)。
进入页面之后,对DropDownList重新选Item,提交时,取DropDownList所选的Item时,绑定的和非绑定的就没有什么区别了,用DropDownList1.SelectedItem.Text就OK了~
如何让一个DropDownList绑定值后默认值为空
SqlConnection con = new SqlConnection("server=.;uid=sa;database=pubs");
SqlDataAdapter sdr = new SqlDataAdapter("select * from employee",con);
DataSet ds = new DataSet();
sdr.Fill(ds);
DropDownList1.DataSource = ds;
DropDownList1.DataTextField = "emp_id";
DropDownList1.DataBind();
DropDownList1.Items.Add(" ");
DropDownList1.Items[this.DropDownList1.Items.Count - 1].Value = " ";
DropDownList1.SelectedIndex = this.DropDownList1.Items.Count - 1;
在dropdownlist控件的DataValueField里添上你的数据库中的主键的字段名(一般来说),在DataTextField里添上你的数据在数据库中的字段名。这些都可以在设计页面中设置dropdownlist的属性完成;
假如已经有一个ds了,而且已经fill了
dropdownlist1.DataSource = ds;
dropdownlist1.DataBind();
//然后如果还想要当前项的文本为somestring的时候,
dropdownlist1.Selectedindex = dropdownlist1.items.indexof(dropdownlist1.items.findbytext(somestring));