我有两个下拉列表,第一个选择年份,第二个选择单位,然后在数据库中查找。查找到的数据年份是对的,单位总是下拉列表中的第一个选项。
一部分代码如下:
<asp:dropdownlist id="DropDownList" runat="server">
  <asp:ListItem value="2005" Selected="True">2005</asp:ListItem>
  <asp:ListItem value="2006">2006</asp:ListItem>
  <asp:ListItem value="2007">2007</asp:ListItem>
</asp:dropdownlist><asp:dropdownlist id="DropDownList1" runat="server">
  <asp:ListItem value="热表加工厂">热表加工厂</asp:ListItem>
  <asp:ListItem value="飞机部装厂">部装厂</asp:ListItem>
  <asp:ListItem value="机械加工厂">机械加工厂</asp:ListItem>
</asp:dropdownlist>SQL语句如下:
String strSQLSelect = "SELECT * FROM TABLE"+
         "WHERE TITLE='"+DropDownList1.SelectedItem.Value.Trim().ToString()+
"' AND YEAR='"+DropDownList.SelectedItem.Value.Trim().ToString()+"'";查询结果总是年份是所选的,单位总是“热表加工厂”
请教一下,问题究竟出在哪里?谢谢

解决方案 »

  1.   

    你的代码我试了,没有问题,看一下别的部分,由其是可以改变DropDownList1.SelectedItem的地方,有没有使用DropDownList1的事件.
      

  2.   

    DropDownList1.SelectedItem.Value.Trim().ToString()
    改成
    DropDownList1.SelectedValue.Trim().ToString()
    试试
      

  3.   

    我也碰到过你这样的问题,是因为你数据梆定的问题,在代码中加入if (! IsPostBack) 语句,就可以了
      

  4.   

    在哪里加if (! IsPostBack) 呢?
    Pageload里面是空的.
      

  5.   

    我的pageload里面是空的,是点了“查询”按钮后激发的button_click事件,是在这个事件中加if (! IsPostBack) 吗?
      

  6.   

    你可以在pageload里面加,也可以在OnLoad里面加,(! IsPostBack),