System.Collections.Generic.List不包含“select”的定义
这个错误发生在我的“Views”文件夹中的许多文件中:
'System.Collection.GenericList'不包含接受'System.Collections.GenericList'types的第一个参数的'select'的定义(你是否缺lessusing指令或程序集引用?)
我已经尝试在文件顶部附近添加一些“使用System …”和其他基本库,但添加这些似乎没有任何帮助。
这是我的错误发生在以.BindTo(Model.Users.Select(o => o.UserName))
开头的行中:
任何帮助将不胜感激。 谢谢!
<div id="editRolesContainer" class="detailContainer detailContainer4"> <header class="sectionheader"> Add Roles </header> <ul id = "AdminSelectUserContainer" > <li> <ul style="padding: 0 0 0 5px"> <li>Select User : </li> <li> @using (Html.BeginForm("srch_GetUserRoles", "Admin", new { view = "Users_Roles" }, FormMethod.Post, new { name = "srch_GetUserRoles" })) { @(Html.Telerik().AutoComplete() .Name("acx_SelectUser") .BindTo(Model.Users.Select(o => o.UserName)) .HtmlAttributes(new { type "submit" }) .HtmlAttributes(new { @class = "SearchBox"}) .AutoFill(true) .Filterable((filtering => { filtering.FilterMode(AutoCompleteFilterMode.Contains); })) ) } </li> </ul> ... ... </div>
只要添加这个名字空间,
using System.Linq;
您需要将视图中包含System.Linq
命名空间,因为Select是一种扩展方法。 你有几个select如何做到这一点:
将@using System.Linq
添加到您的cshtml文件的顶部。
如果您发现您将在许多视图中经常使用这个名称空间,则可以通过修改Views文件夹(不是根目录)中的web.config来为所有视图执行此操作。 您应该看到一个页面/命名空间XML元素,创build一个新的add
孩子,添加System.Linq。 这里是一个例子:
<configuration> <system.web.webPages.razor> <pages> <namespaces> <add namespace="System.Linq" /> </namespaces> </pages> </system.web.webPages.razor> </configuration>
我有这个问题,当调用Generic.List像:
mylist.Select( selectFunc )
其中selectFunc被定义为Expression<Func<T, List<string>>>
。 简单地改变“mylist”是一个IQuerable
而不是List
那么它允许我使用。select。