0
OK、これは簡単なはずですが、私はピクルスに入っています。C#MVC - クエリ文字列でコントローラに渡されたeNum値に基づいて結果をフィルタリングする
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
をクエリ文字列に基づいて結果をフィルタリングします。
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などがあります。整数と整数を一致させたいだけです。
これはすべて意味があります。ありがとう。
siteItems = siteItems.Where(T =をキャスト入力する必要があり、この
旧コード
をお試しください> t.ItemType == (ItemType)passedItem); はい、それは動作します! Prasadありがとう。 :) – spankymac
その私の喜びdr.cheerアップ –