【发布时间】:2012-01-04 21:27:24
【问题描述】:
我的产品表中有一个关键字列,关键字列将包含红色、绿色、白色、紫色、黑色等关键字。每个产品都有一个关键字。 I want a key word dropdownlist in the my search option so , that when black keyword is selected all the products which has a keyword black should be displayed, Is it possible to achieve something like this , if yes any assistance or help will be highly appreciated ??
我还想用关键字列填充下拉列表,例如,如果添加了具有不同关键字的新产品,下拉列表也应该包含该关键字。
目前我正在使用制造商进行搜索,以下是代码: 查看:
@if (Model.AvailableManufacturers.Count > 0)
{
<tr>
<td class="title">
@Html.LabelFor(model => model.Mid):
</td>
<td class="data">
@Html.DropDownListFor(model => model.Mid, Model.AvailableManufacturers)
</td>
</tr>
}
控制器:
var manufacturers = _manufacturerService.GetAllManufacturers();
if (manufacturers.Count > 0)
{
model.AvailableManufacturers.Add(new SelectListItem()
{
Value = "0",
Text = _localizationService.GetResource("Common.All")
});
foreach (var m in manufacturers)
model.AvailableManufacturers.Add(new SelectListItem()
{
Value = m.Id.ToString(),
Text = m.Name,
Selected = model.Mid == m.Id
});
}
ManufactureService.cs:
public virtual IList<Manufacturer> GetAllManufacturers(bool showHidden = false)
{
var query = from m in _manufacturerRepository.Table
orderby m.DisplayOrder
where (showHidden || m.Published) &&
!m.Deleted
select m;
var manufacturers = query.ToList();
return manufacturers;
}
问题:我应该使用什么 Linq Query 从表产品中调用不同的关键字并将其填充到下拉列表中。
问题2:查询所选关键字产品的sql查询。
我正在使用 mvc3 razor 和 LINQ
【问题讨论】:
标签: asp.net-mvc linq asp.net-mvc-3 entity-framework