首先有两个页面: 1个搜索,1个显示结果。
搜索页有3个DropDownList,用语句:
         Response.Redirect("Default2.aspx?name=" + DropDownList2.SelectedValue
            + "&name2=" + DropDownList1.SelectedValue
            + "&name3=" + DropDownList3.SelectedValue)
在结果页用:
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:HR_DatabaseConnectionString1 %>"
            SelectCommand="SELECT * FROM [HouseData] WHERE (([District] = @District) AND ([RoomNum] = @RoomNum) AND ([HouseType] = @HouseType))">
            <SelectParameters>
                <asp:QueryStringParameter Name="District" QueryStringField="name" Type="String" />
                <asp:QueryStringParameter Name="RoomNum" QueryStringField="name2" Type="Int32" />
                <asp:QueryStringParameter Name="HouseType" QueryStringField="name3" Type="String" />
            </SelectParameters>
        </asp:SqlDataSource>请问:如果用户在搜索页对3个DropDownList 只填两项, 另外一项为默认"select ur something"(all values in sql), 
我该怎么表示这个all values, 或者改动结果页另外,对于DropDownList 值的赋予, 用单独的xml好,还是在属性中的item里设置值好。 如果对于多语言化网站来说呢?

解决方案 »

  1.   

    无人知道吗? 还是我没说清
    upupup
      

  2.   


    <asp:QueryStringParameter   Name="District"   QueryStringField="name"   Type="String"   />
    标识一下是否选择了DropDownList 
    如果没选择 假设name没选择 让name="District" 就是它所对应的列的列名
      

  3.   

    楼上的方法没成功
    自己解决了 SELECT   *   FROM   [HouseData]   WHERE   (([District]   =   @District)   AND   ([RoomNum]   =   @RoomNum)   AND   (([HouseType]   =   @HouseType) OR (@HouseType ="All"))"设置DropDownList的一个值为 All