如何选择字段作为过滤参数?

时间:2018-05-23 08:31:45

标签: c# asp.net

当用户点击下拉列表时,用户可以在开始日期或到期日期之间进行选择,然后在文本框中键入日期。文本框过滤器正在运行,但如何让下拉列表工作,以便用户可以在开始日期和到期日期之间进行选择

Date Filter

当我使用FilterExpression= "'{0}' >= '{1}' AND '{0}' <= '{2}'">时,我的sqldatasource中的部分'{0}'无效。

当我执行FilterExpression= "start_date >= '{1}' AND start_date <= '{2}'">FilterExpression= "expiry_date >= '{1}' AND expiry_date <= '{2}'">时,它正在运作。

注意: start_date &amp; expiry_date 是我在数据库中的表格中的字段。

DROPDOWNLIST:

<asp:DropDownList ID="Date_Type_DropDownList" runat="server" CssClass="custom-select dropdown-toggle ml-3" AutoPostBack="True">
      <asp:ListItem Text="Choose. . ." Value="-1"></asp:ListItem>
      <asp:ListItem Text="Start Date" Value="start_date"></asp:ListItem>
      <asp:ListItem Text="Expiry Date" Value="expiry_date"></asp:ListItem>
</asp:DropDownList>

的SqlDataSource:

    <asp:SqlDataSource ID="Gridview_SqlDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:databaseConnectionString %>" SelectCommand="SELECT * FROM table" FilterExpression= "'{0}' >= '{1}' AND '{0}' <= '{2}'">
        <FilterParameters>
            <asp:ControlParameter ControlID="Date_Type_DropDownList" Name="DateType" PropertyName="SelectedValue" Type="String" />
            <asp:ControlParameter ControlID="date_start_textbox" PropertyName="Text" DefaultValue="01/01/1900"/>
            <asp:ControlParameter ControlID="date_end_textbox" PropertyName="Text" DefaultValue="31/12/3000" />
        </FilterParameters>
</asp:SqlDataSource>

0 个答案:

没有答案