2014-01-16 71 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

相關問題