好的,所以这应该很容易,但我很挑剔。
MODEL
public enum ItemType
{
Article = 1,
Link = 2,
Event = 3,
Training = 4,
Job = 5
}
public class SiteItem
{
public int ID { get; set; }
public ItemType ItemType { get; set; }
}
我想根据查询字符串
过滤结果http://site/Admin/AllItems?type=4
这将返回所有 Training 项目。
CONTROLLER
public ActionResult AllItems(int? passedItem)
{
IQueryable<SiteItem> siteItems;
siteItems = db.SiteItems.Include(s => s.ApplicationUser).
Include(i => i.TagLinks).
Where(x => x.Approved == true);
if (passedItem > 0)
{
siteItems = siteItems.Where(t => t.ItemType = passedItem);
}
siteItems = siteItems.OrderByDescending(a => a.DatePosted);
return View(siteItems.ToList());
}
这不起作用。我无法从查询字符串传递整数值来过滤结果。在数据库中,ItemType字段的编号为4,3,5等。我只想将整数与整数匹配。
希望这一切都有意义。感谢。
答案 0 :(得分:0)
试试这个
旧代码
siteItems = siteItems.Where(t => t.ItemType = passedItem);
您需要输入强制转换属性
更新了代码
siteItems = siteItems.Where(t => t.ItemType == (ItemType)pass