前提・実現したいこと
Repeaterタグ内にリストの内容をバインドする。
発生している問題・エラーメッセージ
repTestLabel という名前のプロパティは含まれません。'
該当のソースコード
aspx
1 <asp:Repeater runat="server" ID="rep1"> 2 <ItemTemplate> 3 <div style="display:block; padding:5px"> 4 <asp:Label runat="server" ID="lblRep" Text='<%# Eval("repTestLabel" )%>'></asp:Label> 5 <asp:TextBox runat="server" ID="txtRep" Text='<%# Eval("repTestText" )%>'></asp:TextBox> 6 <asp:Label runat="server" ID="Label1" Text='<%# Eval("repTestLabel2" )%>'></asp:Label> 7 </div> 8 </ItemTemplate> 9 </asp:Repeater>
c#
1 public class repItems 2 { 3 public string repTestText; 4 public string repTestLabel; 5 public string repTestLabel2; 6 } 7 8 9 protected void Page_Load(object sender, EventArgs e) 10 { 11 List<repItems> repItemList = new List<repItems>(); 12 13 for (int i = 0; i < 10; i++) 14 { 15 repItems items = new repItems(); 16 items.repTestText = i.ToString(); 17 items.repTestLabel = "ラベル" + i.ToString(); 18 items.repTestLabel2 = "後ろラベル" + i.ToString(); 19 20 repItemList.Add(items); 21 } 22 23 this.rep1.DataSource = repItemList; 24 this.rep1.DataBind(); 25
試したこと
上記のソースを実行時にエラーが発生します。
他に試したこととしましては、
c#
1this.rep1.DataSource = repItemList.Select((repTestText, repTestLabel, repTestLabel2) => 2 new { repTestText, repTestLabel, repTestLabel2 });
匿名クラスを使用した形でバインドを行おうともしましたが、エラーでした。
リストを画面上のRepeaterItemsにバインドする際にはどうすればいいのでしょうか。
回答をお願いします。
追記
開発環境:VisualStudio2019
.NETバージョン : .NET Framework4.7.2
エラー行:行数は表示されていないため、エラー発生部分の処理行を明記
this.rep1.DataBind();
回答1件
あなたの回答
tips
プレビュー