在做C#项目的过程中模糊查询是非常常见的,然而关于用户需求,某一段的时间模糊查询也是挺常见的,下面就分享一下我在做MVC项目控制器中的某一时间段的模糊查询吧,还请大佬们多多指教!!!
```javascript
// An highlighted block
public ActionResult SelectBankVocher(BsgridPage bsgridPage,int AccountID, string Abstract, string Dateone, string DateTwo, DateTime? Date1)
{
if (AccountID > 0)
{
listBankVocher = listBankVocher.Where(m => m.AccountID == AccountID).ToList();
}
if (!string.IsNullOrEmpty(Abstract))
{
listBankVocher = listBankVocher.Where(m => m.Abstract.Contains(Abstract.Trim())).ToList();
}
if (Dateone == "" && DateTwo == "")
{
}
else if (Dateone != "" && DateTwo != "")
{
DateTime dateone = Convert.ToDateTime(Dateone);
DateTime datetwo = Convert.ToDateTime(DateTwo);
TimeSpan time = datetwo - dateone;
double minute = time.TotalDays; //double 表示一个双精度浮点数
int inttime = Convert.ToInt32(minute);
if (inttime == 0)
{
listBankVocher = listBankVocher.Where(m => m.Date1 == dateone).ToList();
}
else if (inttime > 0)
{
listBankVocher = listBankVocher.Where(m => m.Date1 <= datetwo && m.Date1 >= dateone).ToList();
}
else
{
listBankVocher = listBankVocher.Where(m => m.Date1 <= dateone && m.Date1 >= datetwo).ToList();
}
}
else if (Dateone != "" || DateTwo != "")
{
if (Dateone != "")
{
DateTime dates = Convert.ToDateTime(Dateone.Trim());
listBankVocher = listBankVocher.Where(m => m.Date1 == dates).ToList();
}
else
{
DateTime dates = Convert.ToDateTime(DateTwo.Trim());
listBankVocher = listBankVocher.Where(m => m.Date1 == dates).ToList();
}
}
}
```
由于我项目中的代码有自己的需求,为了读者们更方便看到此功能(时间段模糊查询)的代码,此控制器中截掉了部分数据代码,主要呈现出时间段模糊查询的功能,此外,以上代码功能是控制器中的,需要视图传输数据发出该请求即可。
若不能理解,肯定是我表达不够明了,请多多指教多多谅解,谢谢!