用户页面我建了两个listbox:lbcountry,lbprovince分别从数据库中的相应表中取值来初始化lbcountry我用select countryname from member语句来绑定数据lbprovince需要用lbcountry的选择的值来初始化 
select provincename from member where countryname=@countryname
给参数 @countryname  赋值为 this.lbcountry.selectevalue可是运行结果 lbcountry有值,而lbprovince下拉框什么都没有为空 
我这种方法没有错吧?
哪里有错呢?

解决方案 »

  1.   

    检查下AutoPostBack是否为true另:
    给参数 @countryname  赋值为 this.lbcountry.selectevalue
    改为:this.lblcountry.SelectItem.Value
      

  2.   

    看看的sql语句能不能检索到东西啊。。如果能绑定后不可能有问题的。
      

  3.   

    代码帖上来看看吧,可能跟页面的post有关。
      

  4.   

    检查:
    1.检查下AutoPostBack是否为true
    2.在SelectIndexChanged中写的代码,是否在检索过数据库后,对listbox进行了绑定。lbprovince
    .DataBind();
      

  5.   

    我查过数据库了,数据库里面有东西的,没办法,我就重新从一个简单表里取数据试下还是不行我写了一个类Member_Class.CMember用方法province调用存储过程 
     create procedure Pprovince
    (
    @stateID  nvarchar(10)
    )
    as 
     
    Select provinceID,nname 
    from province
     where stateID=@stateID然后在html里面加入
    <%Import Namespace="Member_Class" %> 
    <script language="C#" runat=server>private void lbcountry_SelectedIndexChanged(object sender, System.EventArgs e)
    {
    string x=this.lbcountry.SelectedItem.Value;
    this.lbprovince.DataSource=Member_Class.CMember.province(x);
    this.lbprovince.DataTextField="nname";
    this.lbprovince.DataValueField="provinceID";
    this.lbprovince.DataBind();
    }
    </script>
    可是运行出错:
            找不到类型或命名空间名称“Member_Class”(是否缺少 using 指令或程序集引用?)
    错误显示this.lbprovince.DataSource=Member_Class.CMember.province(x); 这一行我已经<%Import Namespace="Member_Class" %> 了,为什么还是找不到Member_Class啊,有错吗?
      

  6.   

    改成<%@Import Namespace="Member_Class" %>,还是找不到Member_Class
      

  7.   

    我还是改回原来的了,
    原来是我的AutoPostBack是false
    开始我没注意AutoPostBack 是 listbox的一个属性,我以为是判断页面是否第一次载入的ispostback了,
    多谢各位大侠!