我把DropDownLis绑定到某个数据源上,从数据库中读取某列数据并做为DropDownLis的下拉选项。
问提是不管我选择的是下拉框中第几个数据。它反回的都是下拉框的第一个数据。
例如:DropDownLis中有上海,长沙,北京选项,我下拉选择长沙,希望它返回直是长沙,可返回直是
上海,我选择北京,返回的也是上海!
我用C#写的。DropDownLis动态绑定代码是:string sqlstring ="select name,age from table1 ";
SqlConnection MyConnection=new qlConnection("server=IP地址/实例名;database=数据库名称;Trusted_Connection=yes");
SqlCommand MyCommand = new SqlCommand(sqlstring, MyConnection);
MyConnection.Open();
SqlDataReader dr = MyCommand.ExecuteReader();
DropDownList4.DataSource = dr;
DropDownList4.DataTextField = "表中字段名称";
DropDownList4.DataBind();
MyConnection.Close();
大侠给段c#代码帮我解决这个问题!谢!
问提是不管我选择的是下拉框中第几个数据。它反回的都是下拉框的第一个数据。
例如:DropDownLis中有上海,长沙,北京选项,我下拉选择长沙,希望它返回直是长沙,可返回直是
上海,我选择北京,返回的也是上海!
我用C#写的。DropDownLis动态绑定代码是:string sqlstring ="select name,age from table1 ";
SqlConnection MyConnection=new qlConnection("server=IP地址/实例名;database=数据库名称;Trusted_Connection=yes");
SqlCommand MyCommand = new SqlCommand(sqlstring, MyConnection);
MyConnection.Open();
SqlDataReader dr = MyCommand.ExecuteReader();
DropDownList4.DataSource = dr;
DropDownList4.DataTextField = "表中字段名称";
DropDownList4.DataBind();
MyConnection.Close();
大侠给段c#代码帮我解决这个问题!谢!
但我改成这样就没有问题了
while(dr.Read())
{
DropDownlist4.Items.Add(new ListItem(dr["BigClass_name"].ToString(),dr["BigClass_id"].ToString()));
}
{
//ToDo:绑定数据
}
要不然每次PostBack后会重新绑定,一次就会每次都返回第一个值了
{
数据绑定写在这里
}
{
if(!IsPostBack)
{
OleDbConnection cn=new OleDbConnection(System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"]);
cn.Open();
string sql="select distinct Mi_EquipId from Rcm_MalInflu";
OleDbCommand cm=new OleDbCommand(sql,cn);
OleDbDataReader dr=cm.ExecuteReader();
while(dr.Read())
{
ddl_equip.Items.Add(new ListItem(dr["Mi_EquipId"].ToString(),dr["Mi_EquipId"].ToString()));
}
cn.Close();
}
}==============================================
private void ddl_equip_SelectedIndexChanged_1(object sender, System.EventArgs e)
{
if(ddl_equip.SelectedIndex!=0)
{ Label1.Text=ddl_equip.SelectedItem.Text;
}
else
{
Label1.Text="0";
}
try
{
DataBd();
}
catch
{
RegisterStartupScript("alert","<script language=javascript>window.alert('无记录或者出错!');</script>");
}
}
点击下拉菜单并选择选项事件才触发!
http://blog.csdn.net/kgdiwss/archive/2005/06/15/395070.aspx
http://blog.csdn.net/kgdiwss/archive/2005/06/23/400995.aspx
http://blog.csdn.net/kgdiwss/archive/2005/06/23/401320.aspx
//在此绑定你的数据
}
private void dropdownlist1_SelectedIndexChanged(object sender, System.EventArgs e){
Response.write(dropdownlist1.SelectedTest);
}
值是由ValueField表示的呀
回发引起的了.这样:
If (!IsPostBack){
//绑定数据.
string sqlstring ="select name,age from table1 ";
SqlConnection MyConnection=new qlConnection("server=IP地址/实例名;database=数据库名称;Trusted_Connection=yes");
SqlCommand MyCommand = new SqlCommand(sqlstring, MyConnection);
MyConnection.Open();
SqlDataReader dr = MyCommand.ExecuteReader();
DropDownList4.DataSource = dr;
DropDownList4.DataTextField = "表中字段名称";
DropDownList4.DataBind();
MyConnection.Close();
}