asp.netが.aspxソースページ(コードビハインドではない)でHTMLインラインで動的に生成できるかどうかを知りたいと思った。私は次のような単純な.aspxページを作成し、テストするためにASP.NETで動的にHTMLを生成
...私のasp.netコードビハインドで
私は、次のしている:
:私は、対応するソース・ページでprotected List<string> myList = null;
protected void Page_Load(object sender, EventArgs e)
{
if (myList == null)
myList = new List<string>();
myList.Add("One String");
myList.Add("Two String");
myList.Add("Three String");
myList.Add("Four String");
this.Repeater1.DataSource = myList;
this.Repeater1.DataBind();
}
を
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<ol>
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<li>
<%# DataBinder.GetDataItem(myList) %>
</li>
</ItemTemplate>
</asp:Repeater>
</ol>
</body>
</html>
結果の.aspxページは次のとおりです。
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>
</title></head>
<body>
<ol>
<li></li>
<li></li>
<li></li>
<li></li>
</ol>
</body>
</html>
実際、Repeaterコントロールは4つのリスト項目を作成したことに注意してください。しかし、myListリストの内容(1つの文字列、2つの文字列など)は乗っていませんでした。
myListリストを評価し、その値をリストアイテムタグ内で取得するには、何が必要ですか?ちなみに、私はRepeaterコントロールを具体的に使用する方法には関心がありません。したがって、この問題のソリューションにはRepeaterコントロールが含まれていない場合、それでいいです。
注:「myList」ジェネリックリストをasp:BulletedListにバインドして同じ結果を得ることができます。私はソースページのHTMLインラインで動的に作成することにもっと興味があります。
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<li>
<%# Container.DataItem %>
</li>
</ItemTemplate>
</asp:Repeater>
あなたがプロパティを持つオブジェクトのリストでソースをバインドする必要がある場合は、使用しよう::このコード
ありがとう、Dima。ちょうど私が探していたもの。 – Jed
ようこそ) –