【发布时间】:2011-05-23 07:26:34
【问题描述】:
我是 mvc 的菜鸟。我正在使用带有 linq2sql 的存储库模式,使用 mvc 只是做一些测试以清楚地了解它周围的一切。 我正在尝试从作者表中输出作者。
public class AuthorsRepository : IAuthorRepository
{
private Table<BK_Author> _authorsTable;
public IQueryable<BK_Author> Authors
{
get { return _authorsTable.AsQueryable<BK_Author>(); }
}
在控制器中
public class AuthorsController : Controller
{
private IAuthorRepository _authorRepo;
public AuthorsController()
{
string connectionString = "";
_authorRepo = new AuthorsRepository(connectionString);
}
public ViewResult List()
{
return View(_authorRepo.Authors.ToList());
}
在视图部分
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
<div class="item">
<% foreach (var k in Model)
{ %>
<%: k.Author_Name %>
<%: k.Author_email %>
<%: k.Author_phonenumber %>
<%: k.Author_Website %>
<% }%>
</div>
当我尝试运行它时,我遇到了编译器异常
“foreach 语句无法对 'BK_Author' 类型的变量进行操作,因为 'BK_Author' 不包含 'GetEnumerator' 的公共定义”
【问题讨论】:
-
foreach (var k in Model)可能是错误的。你的意思是foreach (var k in Model.Authors)?
标签: c# asp.net-mvc list iqueryable