我的DropDownList 控件在if(!IsPostBack){}里绑定后总要刷新后才能看到绑定.是什么原因呢?

解决方案 »

  1.   

    一定是别的地方错了,就是要放在if(!IsPostBack){}里头啊把代码帖出来看看
      

  2.   

    放在if(!IsPostBack){}里头是对的啊!
      

  3.   


    DropDownList1.AutoPostBack = true;
      

  4.   

    我的代码如下:public class Sidebar : System.Web.UI.UserControl
    {
    OracleConnection conn; protected System.Web.UI.WebControls.DropDownList ddlQry1;
    protected System.Web.UI.WebControls.Button btnSubmission;
    protected System.Web.UI.WebControls.TextBox txtQry;
    protected System.Web.UI.WebControls.Label lbltemp; private void Page_Load(object sender, System.EventArgs e)
    {
    conn = new OracleConnection(System.Configuration.ConfigurationSettings.AppSettings["DataBaseString"]);
    // 在此处放置用户代码以初始化页面
    if(!IsPostBack)
    {
    conn.Open(); string strQuery ="select column_name from user_tab_columns where table_name = "+"'"+(string)Session["tableName"]+"'";  OracleDataAdapter adapter = new OracleDataAdapter(strQuery,conn); DataTable dt = new DataTable(); adapter.Fill(dt);
    //在table中删除隐藏字段
    for(int i = 0;i<dt.Rows.Count;i++)
    {
    if(dt.Rows[i][0].ToString() == "HIDDEN_设备类型")

    dt.Rows[i].Delete();
    }
    }   

    ddlQry1.DataSource = dt;
    ddlQry1.DataTextField = dt.Columns[0].ColumnName .ToString();

    ddlQry1.DataBind();

    conn.Close();
    }
    } #region Web 窗体设计器生成的代码
    ///////////
    #endregion public string strColToQry
    {
    get
    {
    return (string) ViewState["ColName"];
    }

    set
    {
    ViewState["ColName"] = value;
    }

    } public string strColValue
    {
    get
    {
    return (string) ViewState["ColValue"];
    }

    set
    {
    ViewState["ColValue"] = value;
    }

    } private void btnSubmission_Click(object sender, System.EventArgs e)
    {
    if(ddlQry1.SelectedIndex> -1)
    {
    strColToQry = ddlQry1.SelectedItem.Value;
    }
    else
    strColToQry = ddlQry1.Items[0].Value;
    strColValue = txtQry.Text; Response.Redirect("QryByColName.aspx?strColToQry="+strColToQry+"&strColValue="+strColValue);
    }
    }
    }
      

  5.   

    或者先不用//在table中删除隐藏字段
    for(int i = 0;i<dt.Rows.Count;i++)
    {
    if(dt.Rows[i][0].ToString() == "HIDDEN_设备类型")

    dt.Rows[i].Delete();
    }
    } 看看运行结果 或者在上面代码后面加入
    加入  dt.AcceptChanges();
      

  6.   

    是不是你在以前就隐藏的调用了该页面了,要不不要用那个ispo....
      

  7.   

    对dt编辑后一定要加句dt.AcceptChanges();这样看看能不能行
      

  8.   

    我在没加如对table的编辑之前就出现这问题了.