【发布时间】:2015-05-08 11:48:45
【问题描述】:
我有一个旅行项目 (ASP.NET MVC4)。我想在 LINQ where 子句中使用多个参数搜索 Tours。
这是我的观点:
<form class="green" id="formsearchtravel" method="get" action="@Url.Content("~/" + "search")">
<div class="col-lg-3 col-sm-6">
<select name="destination" >
<option value="any">All </option>
<option value="India">Ấn độ</option>
<option value="thailand">Thailand</option>
<option value="japan">Nhật bản</option>
<option value="uk">Anh</option>
</select>
</div>
<div class="col-lg-3 col-sm-6">
<select name="duration" >
<option value="any">All</option>
<option value="5">from 0 - 5</option>
<option value="10">from 05 -10</option>
<option value="15">from 10 -15</option>
<option value="16">over 15 days</option>
</select>
</div>
<div class="col-lg-3 col-sm-6">
<select name="price" >
<option value="any">All</option>
<option value="500">A – 0 – 500 $</option>
<option value="1000">B – 500 – 1000 $</option>
<option value="2000">C – 1000 – 2000 $</option>
<option value="3000">D – 2000 – 3000 $</option>
<option value="4000">E – Trên 4000 $</option>
</select>
</div>
<div class="col-lg-3 col-sm-6">
<input value="Search" type="submit" />
</div>
</form>
这是控制器:
public IEnumerable<TourSummaryDto> GetSearchTours(string destination, int? duration, int? price)
{
var query = _tourItemRepository.GetAll();
return
ConvertToTourSummaryDtoQuery(
query.Where(p => p.Category.Name.ToUpper() == destination.ToUpper() && p.TourContent.Giagoc > 500 && p.TourContent.Soluongngay < 15).OrderByDescending(t => t.CreatedDate));
}
如何使用 Destination = any 或 Destination = something And Duration = all 或 Duration = something AND Price = all or Price = somethings 进行搜索
如何使用所有这些搜索(目的地和持续时间和价格)
感谢任何帮助。
【问题讨论】:
-
不清楚您所说的 Destination = Any 或 Destination = something 等是什么意思。您能否举例说明您的问题?
-
例如:1,目的地 = 全部 AND 5 天
标签: c# linq search parameters where