私は DataPager を使用して ListView コントロールを持っています。データベースから ListView に結果を表示しようとしています。データベースには、ajaxhtmlextender からのコンテンツを格納するフィールドがあります。このようなデータベースで ListView をバインドしています。
protected void ListEvents()
{
conn = new SqlConnection(connSting);
cmdListEvent = new SqlCommand("SELECT * FROM LatestEvents",conn);
table = new DataTable();
conn.Open();
adpter = new SqlDataAdapter(cmdListEvent);
adpter.Fill(table);
ListEvent.DataSource = table;
ListEvent.DataBind();
conn.Close();
}
および .aspx ファイル
<asp:ListView ID="ListEvent" runat="server"
OnItemDataBound="ListEvent_ItemDataBound" >
<LayoutTemplate>
<asp:PlaceHolder runat="server" ID="itemPlaceholder"></asp:PlaceHolder>
</LayoutTemplate>
<ItemTemplate>
<div class="contmainhead">
<h1 id="evhead"><asp:Label ID="LabelTittle" runat="server"><%#Eval("Tittle") %></asp:Label></h1>
</div>
<div class="contmain">
<asp:Label ID="LabelBody" runat="server"> <%#Eval("Body") %></asp:Label>
</div>
</ItemTemplate>
</asp:ListView>
意図した結果が得られますが、問題はラベルです
<asp:Label ID="LabelBody" runat="server"> <%#Eval("Body") %></asp:Label>
すべての書式設定されたテキストと画像を HTML マークアップとして表示します。ラベルを完全に機能させるには、この関数を使用する必要があります。
Server.HtmlDecode();
私はこのようにしてみました
protected void ListEvent_ItemDataBound(object sender, ListViewItemEventArgs e)
{
if (e.Item.ItemType == ListViewItemType.DataItem)
{
Label LabelBody = (Label)e.Item.FindControl("LabelBody");
LabelBody.Text = Server.HtmlDecode(LabelBody.Text);
}
}
しかし、ラベルには何も表示されません。. では、ラベルにコンテンツを正しく表示するにはどうすればよいですか? どうぞよろしくお願いいたします。.ありがとう