我的"Views"文件夹中的许多文件都发生了此错误:
'System.Collection.GenericList'不包含'Select'的定义,可以找到接受类型'System.Collections.GenericList'的第一个参数(你是否缺少using指令或程序集引用?)
我尝试在文件顶部附近添加一堆"使用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>
Run Code Online (Sandbox Code Playgroud)
Saj*_*ran 133
只需添加此命名空间,
using System.Linq;
Run Code Online (Sandbox Code Playgroud)
vcs*_*nes 30
您需要System.Linq在视图中包含命名空间,因为Select是一种扩展方法.关于如何执行此操作,您有几个选项:
添加@using System.Linq到cshtml文件的顶部.
如果您发现在许多视图中经常使用此命名空间,则可以通过修改Views文件夹(而不是根文件夹)中的web.config来对所有视图执行此操作.您应该看到一个pages/namespace XML元素,创建一个add添加System.Linq 的新子元素.这是一个例子:
<configuration>
<system.web.webPages.razor>
<pages>
<namespaces>
<add namespace="System.Linq" />
</namespaces>
</pages>
</system.web.webPages.razor>
</configuration>
Run Code Online (Sandbox Code Playgroud)
我遇到了这个问题,当调用Generic.List像:
mylist.Select( selectFunc )
Run Code Online (Sandbox Code Playgroud)
其中selectFunc定义为Expression<Func<T, List<string>>>。只需将“ mylist”更改为a即可IQuerable,List然后它允许我使用.Select。
| 归档时间: |
|
| 查看次数: |
87967 次 |
| 最近记录: |