获取到查询条件和查询内容的val值,重载表格把他们传到控制器。
js代码:
//VIP搜索按钮
function searchTitleByStem() {
var VIPchaxun = $("#VIPchaxun").val();//查询条件
var txtNoticeName = $("#txtNoticeName").val();//查询内容
//重载表格
tabVIP.reload({
url: '/DayWorkManagement/VIPTions/selectVIP',
where: { VIPchaxun: VIPchaxun, txtNoticeName: txtNoticeName },
page: { curr: 1 }
})
}
控制器代码:
public ActionResult selectVIP(LayuiTablePage layuiTablePage, int VIPchaxun, string txtNoticeName)
{
List<vipVo> listvip = (from tbvip in myModels.S_VipTable//VIP表
join tbviplb in myModels.S_VipType on tbvip.levelID equals tbviplb.levelID//类别表
select new vipVo
{
VipID = tbvip.VipID,//VIPID
TradNum = tbvip.TradNum,//卡号
VipName = tbvip.VipName,//姓名
level = tbviplb.level,//级别
}).ToList();
//条件筛选,当id为VIPchaxun的下拉框的value为1时(选择了VIP卡号),判断字符不为空时,匹配出VIP表中包含该文本的卡号(Contains匹配包含给定文本的元素),字符为空时就查询全部,后面的同理。
if (VIPchaxun == 1)//VIP卡号
{
if (!string.IsNullOrEmpty(txtNoticeName))
{
listvip = listvip.Where(S => S.TradNum.Contains(txtNoticeName)).ToList();
}
}
if (VIPchaxun == 2)//VIP姓名
{
if (!string.IsNullOrEmpty(txtNoticeName))
{
listvip = listvip.Where(S => S.VipName.Contains(txtNoticeName)).ToList();
}
}
if (VIPchaxun == 3)//级别
{
if (!string.IsNullOrEmpty(txtNoticeName))
{
listvip = listvip.Where(S => S.level.Contains(txtNoticeName)).ToList();
}
}
int totalRow = listvip.Count();
List<vipVo> dbvip = listvip
.Skip(layuiTablePage.GetStartIndex())
.Take(layuiTablePage.limit)
.ToList();
LayuiTableData<vipVo> layuiTableData = new LayuiTableData<vipVo>();
layuiTableData.count = totalRow;
layuiTableData.data = dbvip;
return Json(layuiTableData, JsonRequestBehavior.AllowGet);
}