c# - 如何选择字段作为过滤参数?
问题描述
当用户单击下拉列表时,用户可以在开始日期或到期日期之间进行选择,然后在文本框中输入日期。文本框过滤器正在工作,但我如何让下拉列表工作,以便用户可以在 start date 和 expiry date 之间进行选择。
我的 sqldatasource 中的部分FilterExpression= "'{0}' >= '{1}' AND '{0}' <= '{2}'">
在我使用'{0}'
.
当我这样做FilterExpression= "start_date >= '{1}' AND start_date <= '{2}'">
或时它正在工作FilterExpression= "expiry_date >= '{1}' AND expiry_date <= '{2}'">
。
注意:start_date和expiry_date是我在数据库中的表中的字段。
下拉列表:
<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>
解决方案
推荐阅读
- c++ - C++ 中 std::type_info::name() 的持久替代方案?
- google-knowledge-graph - 使用 Google Knowledge Graph API 查找两个节点之间的关系
- amazon-web-services - AWS DynamoDB 流式传输到 Redshift
- ionic2 - One Signal & Ionic 3:不在特定页面上显示通知
- excel - Excel VB文件夹搜索速度提升
- elasticsearch - 如何修复弹性搜索中未分配的分片
- css - 为什么推荐的点击目标大小以像素为单位?
- python-3.x - Pyspark - 将数据帧写入 csv
- wordpress - Wordpress 无法解释的主题问题
- visual-studio - 未填写一个文本框时解决方案崩溃