2014-01-16 51 views
2

下面是从数据库获取单个记录并绑定到repeater数据源的代码片段。但是,当页面渲染它抛出一个错误如何将单个LINQ对象绑定到ASP.NET Repeater控件

protected void Page_Load(object sender, EventArgs e) 
     { 

      var movie= context.movies.GetMovie(); 

      if (!IsPostBack) 
      { 
       Repeater1.DataSource = movie.; 
       Repeater1.DataBind(); 
      } 

     } 

错误消息:

An invalid data source is being used for Repeater1. A valid data source must implement either IListSource or IEnumerable. 

什么建议吗?

回答

3

你可以破解它做这样Repeater1.DataSource = new List<Movie>() { movie };

+0

非常感谢。这是工作。之所以使用中继器,是因为我想在页面上定制html标记。我发现其他数据控件在渲染时会生成表格。我想要在视图源上显示自定义标记。你有更好的建议吗? – user2866746

+0

@ user2866746:正如[我的回答](http://stackoverflow.com/a/21158893/284240)中所述,您可以改为使用FormView或DetailsView。不同之处在于'DetailsView'生成(不需要的)表格布局,而'FormView'则完全控制。您创建一个包含控件的模板,以显示类似于中继器的记录中的单个字段。 –

+0

我可能会像使用@TimSchmelter建议的那样使用FormView或DetailsView,或者实现一个自定义视图来查看细节。 – scheien

相关问题