C# 基于过滤器获取产品列表
我试图根据起始价格和结束价格过滤价格。我在C# 基于过滤器获取产品列表,c#,asp.net,asp.net-mvc-5,C#,Asp.net,Asp.net Mvc 5,我试图根据起始价格和结束价格过滤价格。我在Controller中创建了以下列表: public ActionResult Index() { List<CarModel> objCar = new List<CarModel>() { new CarModel {ProductBrand="BMW",ProductName="X4", ProductColor="White", Price=57000 }, new CarM
Controller
中创建了以下列表:
public ActionResult Index()
{
List<CarModel> objCar = new List<CarModel>()
{
new CarModel {ProductBrand="BMW",ProductName="X4", ProductColor="White", Price=57000 },
new CarModel {ProductBrand="Mercedes",ProductName="AMG", ProductColor="Black", Price=61000 },
new CarModel {ProductBrand="BMW",ProductName="X6", ProductColor="Black", Price=32000 },
new CarModel {ProductBrand="BMW",ProductName="X5", ProductColor="White", Price=28000 },
new CarModel {ProductBrand="BMW",ProductName="X3", ProductColor="White", Price=30000 }
};
CarModelDetail ObjCarDetails = new CarModelDetail();
ObjCarDetails.OrderDetails = objCar;
return View(ObjCarDetails);
}
public ActionResult Index()
{
List objCar=新列表()
{
新CarModel{ProductBrand=“BMW”,ProductName=“X4”,ProductColor=“白色”,价格=57000},
新CarModel{ProductBrand=“Mercedes”,ProductName=“AMG”,ProductColor=“Black”,价格=61000},
新的CarModel{ProductBrand=“BMW”,ProductName=“X6”,ProductColor=“黑色”,价格=32000},
新的CarModel{ProductBrand=“BMW”,ProductName=“X5”,ProductColor=“白色”,价格=28000},
新CarModel{ProductBrand=“BMW”,ProductName=“X3”,ProductColor=“白色”,价格=30000}
};
CarModelDetail ObjCarDetails=新的CarModelDetail();
ObjCarDetails.OrderDetails=objCar;
返回视图(ObjCarDetails);
}
在浏览器中,将根据这些列表指示表格。还有输入,其中一个是起始价,第二个是结束价。如果用户输入开始和结束价格,然后单击Filter
按钮,则应该对其进行过滤。有什么想法吗?谢谢你的帮助
看照片
:这是我脑子里想不出来的 视图:
@Label(“按汽车过滤”,htmlAttributes:new{@class=“control Label col-md-2”})
@Html.DropDownList(“carFilter”,新选择列表(@ViewBag.Cars),
“所有汽车”,新{@class=“form control”})
然后,在控制器中:
ViewBag.Cars = ListofCars();
private IEnumerable<string> ListofCars()
{
CarRepo = new CarRepo();
IEnumerable<CarModel> CCars;
using (car)
{
CCars = cars.SelectAll() as IList<CarModel>;
}
var Cars = Cars.Select(b => b.Car).Distinct().OrderBy(x => x);
return cities;
}
ViewBag.Cars=ListofCars();
私有IEnumerable ListofCars()
{
CarRepo=新CarRepo();
IEnumerable CCAR;
使用(汽车)
{
CCars=cars.SelectAll()作为IList;
}
var Cars=Cars.Select(b=>b.Car.Distinct().OrderBy(x=>x);
回归城市;
}
这会将汽车列表的视图数据拉入控制器,将它们转换为IList
,以便控制器可以使用lambda表达式对它们进行排序。只是一个想法。使用linq
var result = objCar.Where(a => a.Price >= MinValue && a.Price <= MaxValue).ToList();
var result=objCar.Where(a=>a.Price>=MinValue&&a.Price我这样做是为了你;)
鉴于:
<table class="table table-condensed" id="countryTable">
<thead>
<tr class="table-success">
<th>ProductBrand</th>
<th>ProductName</th>
<th>ProductColor</th>
<th>Price</th>
</tr>
</thead>
产品品牌
产品名称
产品颜色
价格
js:
var-oaTable=$('#countryTable').DataTable({
“处理”:true,//用于显示进度条
“orderMulti”:false,//用于一次禁用多个列
“搜索”:错误,
//“dom”:“Ftr”,
“ajax”:{
“url”:“/Yourcontrollername/LoadData”,
“类型”:“职位”,
“数据类型”:“json”
},
“栏目”:[{
“数据”:“产品品牌”,
“名称”:“产品品牌”,
“宽度”:“150px”,
},
“栏目”:[{
“数据”:“产品名称”,
“名称”:“产品名称”,
“宽度”:“150px”,
},
“栏目”:[{
“数据”:“ProductColor”,
“名称”:“ProductColor”,
“宽度”:“150px”,
},
“栏目”:[{
“数据”:“价格”,
“名称”:“价格”,
“宽度”:“150px”,
},
]
})您有什么问题?要查找价格范围内的元素?您没有提供任何代码来显示您试图实现这一目标的内容。Juist search abit可搜索“基于条件c的筛选列表”.OP不想从下拉菜单中进行选择,但只想选择列表中价格在给定范围内的元素。您的代码没有提供任何相关信息。除此之外,var Cars=Cars…
甚至不需要下拉列表。但我编写了一些代码。他们也不提供filterWell,我想是过滤器有人问这个问题。在视图中我如何表达这个问题?mrsWhite非常感谢:)谢谢你的帮助,但我知道这个方法。不幸的是,我需要在服务器端的asp.net mvc中这样做?这是asp.net mvc中的工作:)如果你想的话,我可以发送给你,不需要在C#mvc控制器中编写代码并发送到视图。在视图中,它在单击“过滤器”时呈现但是我不能用C来做这个#
$.fn.dataTable.ext.search.push(
function( settings, data, dataIndex ) {
var min = parseInt( $('#min').val(), 10 );
var max = parseInt( $('#max').val(), 10 );
var columntosearch = parseFloat( data[2] ) || 0; // use data for the age column
if ( ( isNaN( min ) && isNaN( max ) ) ||
( isNaN( min ) && columntosearch <= max ) ||
( min <= columntosearch && isNaN( max ) ) ||
( min <= columntosearch && columntosearch <= max ) )
{
return true;
}
return false;
});
var table = $('#example').DataTable();
// Event listener to the two range filtering inputs to redraw on input
$('#min, #max').keyup( function() {
table.draw();
} );
public ActionResult Index(){
return View();}public ActionResult LoadData()
{
List<CarModel> objCar = new List<CarModel>()
{
new CarModel {ProductBrand="BMW",ProductName="X4", ProductColor="White", Price=57000 },
new CarModel {ProductBrand="Mercedes",ProductName="AMG", ProductColor="Black", Price=61000 },
new CarModel {ProductBrand="BMW",ProductName="X6", ProductColor="Black", Price=32000 },
new CarModel {ProductBrand="BMW",ProductName="X5", ProductColor="White", Price=28000 },
new CarModel {ProductBrand="BMW",ProductName="X3", ProductColor="White", Price=30000 }
};
CarModelDetail ObjCarDetails = new CarModelDetail();
ObjCarDetails.OrderDetails = objCar;
return Json(new { data = objCar }, JsonRequestBehavior.AllowGet);
}
<table class="table table-condensed" id="countryTable">
<thead>
<tr class="table-success">
<th>ProductBrand</th>
<th>ProductName</th>
<th>ProductColor</th>
<th>Price</th>
</tr>
</thead>
var oaTable = $('#countryTable').DataTable({
"processing": true, // for show progress bar
"orderMulti": false, // for disable multiple column at once
"searching": false,
// "dom": "<<'pull-left'>'row'>Ftr<'row-fluid'<'col-md-12'lp>>",
"ajax": {
"url": "/Yourcontrollername/LoadData",
"type": "POST",
"datatype": "json"
},
"columns": [{
"data": "ProductBrand",
"name": "ProductBrand",
"width": "150px",
},
"columns": [{
"data": "ProductName",
"name": "ProductName",
"width": "150px",
},
"columns": [{
"data": "ProductColor",
"name": "ProductColor",
"width": "150px",
},
"columns": [{
"data": "Price",
"name": "Price",
"width": "150px",
},
]