我有下面的代碼:似乎無法使用Linq與ASP.Net導航菜單
// Iterate through the root menu items in the Items collection.
foreach (MenuItem item in NavigationMenu.Items)
{
if (item.NavigateUrl.ToLower() == ThisPage.ToLower())
{
item.Selected = true;
}
}
我想的是:
var item = from i in NavigationMenu.Items
where i.NavigateUrl.ToLower() == ThisPage.ToLower()
select i;
然後我可以設置Selected
的值爲item
,但它在NavigationMenu.Items
上給我一個錯誤。
Error 5 Could not find an implementation of the query pattern for source type 'System.Web.UI.WebControls.MenuItemCollection'. 'Where' not found. Consider explicitly specifying the type of the range variable 'i'.
當我註釋掉where
條款,我得到這個錯誤:
Error 22 Could not find an implementation of the query pattern for source type 'System.Web.UI.WebControls.MenuItemCollection'. 'Select' not found. Consider explicitly specifying the type of the range variable 'i'.
什麼錯誤? – Tim
爲了將來的參考,真的很值得閱讀錯誤信息 - 它給出和我一樣的建議:明確指定範圍變量的類型。 –
當我註釋到Linq語句的where部分時,會發生這個消息。當我取消註釋「where」聲明時,它給了我一個不同的錯誤。 –