このコードでは、ID「ラベル」でコントロール「ラベル」を取得しようとしていますが、これは機能しますが、エンティティデータソースから現在の「AuthorUserID」フィールドを取得したいのですが、これを実行できることはわかっていますが、これ<%# Eval("AuthorUserID" %>)
を取得したいコード ビハインド メソッドのフィールド (この場合は「ChatListView_ItemDataBound」メソッド)。
コードビハインドで現在のフィールド (「AuthorUserID」) を取得する方法は?
分離コード:
protected void ChatListView_ItemDataBound(object sender, ListViewItemEventArgs e)
{
if (e.Item.ItemType == ListViewItemType.DataItem)
{
if (e.Item.FindControl("Label") != null)
{
}
}
}
マークアップ:
<asp:ListView ID="ChatListView" runat="server" DataSourceID="EntityDataSourceUserPosts" OnItemDataBound="ChatListView_ItemDataBound">
<ItemTemplate>
<div class="post">
<div class="postHeader">
<h2><asp:Label ID="Label1" runat="server"
Text= '<%# Eval("Title") + " by " + this.GetUserFromPost((Guid?)Eval("AuthorUserID")) %>' ></asp:Label></h2>
<asp:Label ID="Label" runat="server" Text="" Visible="True"></asp:Label>
<div class="dateTimePost">
<%# Eval("PostDate")%>
</div>
</div>
<div class="postContent">
<%# Eval("PostComment") %>
</div>
</div>
</ItemTemplate>
</asp:ListView>