이 코드에서는 "Label"ID로 "Label"컨트롤을 가져 오려고하지만이 작업은 현재 "AuthorUserID"필드를 엔터티 데이터 원본에서 가져 오려고합니다. 내가 할 수 있음을 알고 있습니다. this with <%# Eval("AuthorUserID" %>)
하지만이 필드는 메소드의 코드에서 "ChatListView_ItemDataBound"메소드의이 경우에 사용합니다.Eval 코드 숨김
코드 뒤에 현재 필드 ("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>
왜이를 통과하고 싶은가? 그냥 포맷하거나 조건을 수행하고 싶다면 aspx의 MyFunc에서 <% # MyFunc (Eval ("PostDate")) %>와 같은 함수를 작성하고 string MyFunc (object dt) {} – Moons
현재 로깅 된 사용자 ID가 콘텐츠의 작성자 ID와 동일한 경우 e.Item.FindControl ("Label")을 visible = true로 설정하려고합니다. 그러나 당신의 생각은 좋은 것처럼 들리겠습니다. – TheChampp
'DataBound' 컨텍스트에있는 경우 마크 업 파일에서와 같이 코드 뒤에 'Eval ("AuthorUserID")'를 사용할 수 있습니다. –