简单的问题,不确定有一个简单的答案!
所以这里是代码:(我已经简化了很多,以便更容易阅读)
<asp:Repeater runat="server>
<ItemTemplate>
<asp:Repeater runat="server">
<HeaderTemplate>
<h1>My header here for: <%# OuterContainer.DataItem.MyItemName %> </h1>
</HeaderTemplate>
<ItemTemplate>
My items code here
</ItemTemplate>
</asp:Repeater>
</ItemTemplate>
</asp:Repeater>
Run Code Online (Sandbox Code Playgroud)
如何在HeaderTemplate中访问父转发器中的DataItem?
我在转发器里面有一个转发器.父转发器绑定到Datatble其中包含a的列的位置Datatable.
我想将子转发器绑定到父转发器的数据行中的数据表列
这可能吗?我想我可以直接在aspx文件中这样做:
DataSource="<%# DataBinder.Eval(Container.DataItem, "Products")%>" 但它似乎没有用.
我有一个包含分层数据的类.我想使用嵌套转发器在我的ASP.net webapp中显示这些数据.我该怎么做呢?我只做了一个级别的嵌套,我怎么说五个级别?
每个项目可以有零个或多个子项目.我基本上只是在使用一些CSS的东西缩进每个分段.我不想使用treeview控件,我想严格坚持使用转发器.
更新:
我的数据来自数据库.我有一个带有一些基本属性的数据表.
Item
{
ID,
Name,
Description,
...
}
Run Code Online (Sandbox Code Playgroud)
然后我有一个多对多的表:
Parent
{
ParentID,
ChildID
}
Run Code Online (Sandbox Code Playgroud)
我正在遍历每个项目并展示它的孩子; 和它的孩子的孩子.我认为这最好用嵌套的中继器完成,但我可能是错的.
我有一个控件,它有一个Repeater,rptReferrals,它通过一个Entity对象列表,引用.Referrals对象引用了另一个名为Answers的表,它是为用户提交的Answers列表.rptReferrals会将子转发器rptQuestionnaire绑定到我登录的人的问题列表,该列表未连接到它所绑定的Referrals对象.
这是aspx代码:
<asp:Repeater runat="server" ID="rptReferrals" OnItemDataBound="rptReferrals_OnItemDataBound">
<ItemTemplate>
//some HTML for the referral object
<asp:Repeater runat="server" ID="rptQuestionnaire" OnItemDataBound="rptQuestionnaire_OnItemDataBound">
//some HTML for displaying questions and answers
</asp:Repeater>
</ItemTemplate>
</asp:Repeater>
Run Code Online (Sandbox Code Playgroud)
后端代码:
protected void rptReferrals_OnItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
//THIS IS THE ITEM THAT HAS THE LIST OF ANSWERS I NEED
var data = e.Item.DataItem as PatientReferral;
var rptQuestionnaire = e.Item.FindControl("rptQuestionnaire") as Repeater;
rptQuestionnaire.DataSource = QuestionList;
rptQuestionnaire.DataBind();
//QuestionList is a list of questions populated on …Run Code Online (Sandbox Code Playgroud) 我有两个嵌套的中继器。在嵌套的页脚中,我有文本框和文件上传控件。我能够毫无问题地获得文件上传的实例,但文本框的实例为空,尽管两者都放置在页脚中。
这是代表内部转发器页脚的 aspx 部分:
<FooterTemplate>
<tr class="add_comment">
<td>Add comment </td>
</tr>
<tr>
<td>
<asp:TextBox runat="server" Columns="20" Rows="3" ID="comment_txt" TextMode="MultiLine" Width="60%" CssClass="new_comment" ViewStateMode="Inherit"></asp:TextBox>
</td>
</tr>
<tr class="add_comment">
<td>
<asp:FileUpload ID="uploadImageBtn" runat="server" Text="Add image" OnClick="uploadImage" CssClass="comment_buttons" />
<asp:Button ID="comment_btn" runat="server" OnClick="submitComment" Text="Comment" CssClass="comment_buttons" />
</td>
</tr>
</table>
</FooterTemplate>
Run Code Online (Sandbox Code Playgroud)
这是我尝试访问控件的 C# 代码:
protected void commentsRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if ((e.Item.ItemType == ListItemType.Footer ))
{
Repeater childRepeater = (Repeater)sender;
TextBox commentTextBox = (TextBox)e.Item.FindControl("comment_txt");
String postText = commentTextBox.Text.ToString();
FileUpload upFile = (FileUpload)e.Item.FindControl("uploadImageBtn");
}
} …Run Code Online (Sandbox Code Playgroud) 我遇到了DataTables和嵌套中继器的问题.它基本上说我没有得到正确匹配的tr标签.
然而,我已经从下面的链接跟随Nested Repeater教程,并且我正确地形成了HTML,当我检查DOM时,一切似乎都没问题.该表看起来像一个普通的表,然后在初始化Datatble时将我的混淆视为最重要的原因.
它看起来然而,当我初始化DataTable(#TeamDashboard)时,我收到此错误:
Uncaught TypeError: Cannot set property '_DT_CellIndex' of undefined
jquery.dataTables.min.js?v=6754017259857097728:24
<asp:Repeater ID="rptTeamPlayers" runat="server" OnItemDataBound="rptTeamPlayers_ItemDataBound">
<HeaderTemplate>
<table id="TeamDashboard" class="table table-striped table-condensed marginBottom30 resultTeams" cellspacing="0" rules="all" border="1">
<thead>
<tr>
<th class="col-xs-1 col-sm-1 col-md-1 setColumnPlusMinus"></th>
<th class="col-xs-2 col-sm-2 col-md-2">Name</th>
<th class="col-xs-1 col-sm-1 col-md-1">Status</th>
<th class="col-xs-3 col-sm-3 col-md-3"></th>
<th class="col-xs-3 col-sm-3 col-md-3">Positions</th>
<th class="col-xs-1 col-sm-1 col-md-1"></th>
<th class="col-xs-1 col-sm-1 col-md-1 text-center">Action</th>
</tr>
</thead>
<tbody class="searchable">
</HeaderTemplate>
<ItemTemplate>
<tr role="row" class="odd shown regularRow">
<asp:Panel ID="pnlPlayerDetails" runat="server" >
<asp:Repeater ID="rptPlayerDetails" runat="server" …Run Code Online (Sandbox Code Playgroud) 我有一个嵌套的重复结构,重复的结构是可变长度.例如,它可能是一个具有重复结构的人物对象,其中包含该人所居住的城市.我想找到该列表中的最后一项说找到当前城市人的生活.是否有一种简单的方法可以做这个,我试着查看jsonpath函数,但我不确定如何使用"within".有什么帮助吗?