我根本不了解asp.net数据绑定,无法找到或计算如何在列表视图中对子表记录进行数据绑定。我已经能够链接数据库中的表键,并且linqdatasource创建向导检测到了这种关系。下面的代码是我得到的那么远/接近,它牦牛了 " DataBinding:' DynamicClass1'不包含名称为' prtitem'的属性。"请求页面时出错。
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeBehind="RecentMnBlg.aspx.cs" Inherits="rwhifonline.Prodtctvty.RecentMnBlg" %>
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<asp:LinqDataSource ID="LinqDataSourceNotesAndTags" runat="server" ContextTypeName="sitedbDataContext" EntityTypeName="" Select="new (PKID, NoteText, NoteTags)" TableName="Notes" OrderBy="PKID desc"></asp:LinqDataSource>
<h3>notes</h3>
<asp:ListView ID="ListViewNotes" runat="server" DataSourceID="LinqDataSourceNotesAndTags">
<ItemTemplate>
<div class="item">
<br />
<asp:Label ID="NoteTextLabel" runat="server" Text='<%# Eval("NoteText") %>' />
<br />
PRTags:
<!--<asp:Label ID="PRTagsLabel" runat="server" Text='<%# Eval("PRTags") %>' /> -->
<% var prtags = (IEnumerable)Eval("PRTags");
foreach (object prtitem in prtags) { %>
<asp:Label ID="PRTagsLabel" runat="server" Text='<%# Eval("prtitem.TagText") %>' />
<% } %>
<br />
</div>
</ItemTemplate>
<LayoutTemplate>
<div id="itemPlaceholderContainer" runat="server">
<span runat="server" id="itemPlaceholder" />
</div>
</LayoutTemplate>
</asp:ListView>
</asp:Content>
注释位显示: &#34; System.Data.Linq.EntitySet`1 [NoteTag]&#34;在标签上 当页面呈现时没有任何foreach尝试部分。
我在搜索中看到了一些关于使用数据绑定事件的页面,该事件从单独的页面调用中获取一个列表,该事件返回一个数据项列表,但是当有一个linq实体记录时,这似乎过多了。 关于在数据绑定上下文中使用这些实体的任何想法或指示?
答案 0 :(得分:0)
能够使用IList参数调用方法后面的页面代码,并从每个linq-ed记录返回所需的字符串格式列表