在我的控制器中,我必须根据用户传递的指定查询字符串测试条件。这些是我目前正在测试的条件:
string dep = Request.QueryString["dep"];
string cat = Request.QueryString["cat"];
string brand = Request.QueryString["brand"];
string search = Request.QueryString["search"];
if(!string.IsNullOrEmpty(dep) && !string.IsNullOrEmpty(search))
//does the GetDepSearch() method
}
if(!string.IsNullOrEmpty(dep) && !string.IsNullOrEmpty(brand)){
//does the GetDepBrand() method
}
if(!string.IsNullOrEmpty(cat) && !string.IsNullOrEmpty(search)){
//does the GetCatSearch() method
}
if(!string.IsNullOrEmpty(cat) && !string.IsNullOrEmpty(brand)){
//does the GetCatBrand() method
}
if(!string.IsNullOrEmpty(dep) && !string.IsNullOrEmpty(cat) &&
!string.IsNullOrEmpty(search)){
//does the GetDepCatSearch() method
}
if(!string.IsNullOrEmpty(dep) && !string.IsNullOrEmpty(cat) &&
!string.IsNullOrEmpty(brand)){
//does the GetDepCatBrand() method
}
if(!string.IsNullOrEmpty(dep) && !string.IsNullOrEmpty(cat) &&
!string.IsNullOrEmpty(brand) && !string.IsNullOrEmpty(search)){
//does the GetDepCatBrandSearch() method
}
if(!string.IsNullOrEmpty(search) && !string.IsNullOrEmpty(brand)){
//does the GetSearchBrand() method
}
if(!string.IsNullOrEmpty(dep) && !string.IsNullOrEmpty(search) &&
!string.IsNullOrEmpty(brand)){
//does the GetDepSearchBrand() method
}
if(!string.IsNullOrEmpty(cat) && !string.IsNullOrEmpty(search) &&
!string.IsNullOrEmpty(brand)){
//does the GetCatSearchBrand() method
}
我知道这样做非常困难。我的目标是通过在控制器中使用任何方法查询数据模型中与指定查询字符串匹配的条件来获取结果。
我必须用动态LinQ或其他东西替换它吗? 我真的对动态LinQ一无所知。
欢迎您的回答,谢谢。