C# 当页面有很多选择条件时的处理方式
如下图,用户可能输入很多条件
在后端的处理方式:
使用键值对
private Dictionary<string, string> CreatSearchPara()
{
Dictionary<string, string> SearchPara = new Dictionary<string, string>();
if (!string.IsNullOrEmpty(txtMaterial.Text.Trim())) SearchPara["Material"] = txtMaterial.Text.Trim();
if (!string.IsNullOrEmpty(txtPurchaseOrder.Text.Trim())) SearchPara["PurchaseOrder"] = txtPurchaseOrder.Text.Trim();
if (!string.IsNullOrEmpty(txtPurchaser.Text.Trim())) SearchPara["Purchaser"] = txtPurchaser.Text.Trim();
}
Dictionary<string, string> SearchPara = CreatSearchPara();
dtReInpect = InspectReport.LoadIQCList(SearchPara);
//使用方法
public static DataTable LoadIQCList(Dictionary<string, string> SearchPara)
{
if (!(SearchPara != null && SearchPara.Count > 0)) return null;
string strSlectWhere = string.Empty;
string strWhere = string.Empty;
StringBuilder Sql_Where = new StringBuilder();
if (SearchPara.ContainsKey("Material"))
{
Sql_Where.Append(" and ( PN like '%" + SearchPara["Material"] + "%' or PN_DESC like '%" + SearchPara["Material"] + "%') ");
}
if (SearchPara.ContainsKey("PurchaseOrder"))
{
Sql_Where.Append(" and PO like '%" + SearchPara["PurchaseOrder"] + "%'");
}
}
最新文章
- 使用 CoordinatorLayout 出错 inflating class android.support.design.widget.CoordinatorLayout
- 数据结构作业——Sanji(优先队列)
- Lintcode 372. O(1)时间复杂度删除链表节点
- 【BZOJ】3751: [NOIP2014]解方程
- android中versionCode&;versionName
- 九幽2015年Q3 WP市场份额细分报告
- logstash学习2
- 深入理解C语言中的指针与数组之指针篇(转载)
- OTG线与普通USB线的区别
- Ubuntu升级后apache所有的失败,以解决虚拟文件夹的设置
- RMQ的st表算法
- r.js合并实践
- 【Mac】【问题】
- Django之 HelloWorld
- mycat 安装 分表 分库 读写分离
- 二、xadmin----简单使用
- python基础数据类型—int、bool、字符串的常用方法
- flask 操作数据时,db的要在app.config设置之后声明:如app.config[&#39;SQLALCHEMY_DATABASE_URI&#39;]
- Linux Kernel 4.21已更新:优化AMD 7nm Zen2架构
- python 基础篇01