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