各位,我在页面上使用了一个DropDownList,其各项是动态加入的,代码如下: DataController dataControl = new DataController();
SqlConnection connection = dataControl.getConnection();
string sql = "select * from NewsClassInfo";
SqlDataAdapter dataAdapter = new SqlDataAdapter(sql, connection); DataSet dataSet = new DataSet();
dataAdapter.Fill(dataSet, "newsInfo");
DataTable dataTable = dataSet.Tables["newsInfo"]; foreach (DataRow dataRow in dataTable.Rows)
{
kindDropDownList.Items.Add(new ListItem(dataRow[1].ToString(), dataRow[0].ToString())); }但是不知道为什么,当改变这个DropDownList的值时采用kindDropDownList.SelectedItem.Value 不能获得正确的值,永远都是第一条的值,为什么?
SqlConnection connection = dataControl.getConnection();
string sql = "select * from NewsClassInfo";
SqlDataAdapter dataAdapter = new SqlDataAdapter(sql, connection); DataSet dataSet = new DataSet();
dataAdapter.Fill(dataSet, "newsInfo");
DataTable dataTable = dataSet.Tables["newsInfo"]; foreach (DataRow dataRow in dataTable.Rows)
{
kindDropDownList.Items.Add(new ListItem(dataRow[1].ToString(), dataRow[0].ToString())); }但是不知道为什么,当改变这个DropDownList的值时采用kindDropDownList.SelectedItem.Value 不能获得正确的值,永远都是第一条的值,为什么?
kindDropDownList.DataTextField = "...";
kindDropDownList.DataValueField = "...";
kindDropDownList.DataBind();你用这样的方式绑定看看
{
DataController dataControl = new DataController();
SqlConnection connection = dataControl.getConnection();
string sql = "select * from NewsClassInfo";
SqlDataAdapter dataAdapter = new SqlDataAdapter(sql, connection); DataSet dataSet = new DataSet();
dataAdapter.Fill(dataSet, "newsInfo");
DataTable dataTable = dataSet.Tables["newsInfo"]; foreach (DataRow dataRow in dataTable.Rows)
{
kindDropDownList.Items.Add(new ListItem(dataRow[1].ToString(), dataRow[0].ToString())); }
}
比如按下一个服务器按钮后,页面就进行了一次回发如果在page_load中不加if(!IsPostBack)则这个页面程序加载时你的dropdowlist都会重新加载一次,而不保留你选过的dropdownlist
{}