可以';t我在.ascx上使用IEnumerable()
本文关键字:IEnumerable ascx 我在 可以 | 更新日期: 2023-09-27 18:26:59
这是我的代码:
protected IEnumerable<MyObject> CategoriesHotelsFiltrati;
CategoriesHotelsFiltrati.Union(CategoriesHotels.Where(o => o.Comune != null && CategoriesLocalitaSelezionate.Contains(o.Comune.UniqueID)));
现在,在.asxc上,如果我试着做:
<%
if (m_oHotelsFiltrati == null || m_oHotelsFiltrati.Count()==0)
{
Response.Write("hello");
}
%>
似乎找不到CCD_ 1方法。它说了一些关于"使用"或"组装"的东西。奇怪的是,有了IList<>
,它就完美地工作了。。。为什么?
您需要在*.ascx
文件中添加以下行:
<%@ Import namespace="System.Linq" %>
有关详细信息,请参阅此链接。
使用IList<>
,您可能正在调用Count
属性(不带括号)。您可以将Count()
作为静态方法调用:
<%
if (m_oHotelsFiltrati == null || Enumerable.Count(m_oHotelsFiltrati)==0)
{
Response.Write("hello");
}
%>
我不知道如何在.ascx文件中获得扩展方法解析。
.Count()
是一个扩展方法,它实际上不是IEnumerable
的方法。对于.Count()
0,编译器需要有一个using
才能找到该方法。(根据Anthony Pegram的评论,您将使用import
命令作为标记文件。)
它可以很好地处理IList,因为列表实际上有一个属性Count
;它不依赖于扩展方法。