私は自分のWebフォームでネストされたリピータを持っており、私は各リピータに対して2つのObjectDataSourceを配置します。ItemDataBoundネストされたリピータ
私は私のrepositiryでこのメソッドを持っている:
public IQueryable<TourDate> GetById(int Id)
{
return model.TourDates.Where(e => e.TourId == Id);
}
私はItemDataBoundイベントを設定する必要があります。
私はItemDataBoundイベントのために、このコード記述:
protected void RptTourDetail_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.AlternatingItem ||
e.Item.ItemType == ListItemType.Item)
{
var dataItem = e.Item.DataItem;
ObjectDataSource ObjectDataSource1 = (ObjectDataSource)e.Item.FindControl("ObjectDataSource1");
ObjectDataSource1.SelectParameters["TourId"].DefaultValue = dataItem.TourId;
}
}
をそれが最後line.Iが間違った何かが、誰もが任意のアイデアを持っていないこの
var dataItem = e.Item.DataItem;
であると思うでTourIdを認識dosentいただきました!問題?
必要に応じてprojcetに関するいくつかの説明:
<asp:ObjectDataSource ID="ODSTTitle" runat="server" SelectMethod="GetById" TypeName="ATourRep">
<SelectParameters>
<asp:QueryStringParameter DefaultValue="0" Name="Id" QueryStringField="CID" Type="Int32" />
</SelectParameters>
</asp:ObjectDataSource>
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" SelectMethod="GetById" TypeName="ATourDateRep">
<SelectParameters>
<asp:Parameter Name="Id" Type="Int32" />
</SelectParameters>
</asp:ObjectDataSource>
<div class="container" id="TourDetail">
<asp:Repeater ID="RptTourDetail" runat="server" DataSourceID="ODSTTitle" ItemType="Tour" EnableViewState="false" OnItemDataBound="RptTourDetail_ItemDataBound">
<HeaderTemplate>
<ul>
</HeaderTemplate>
<ItemTemplate>
<li>
<img src="<%# Item.TImgUrl %>" alt="Alternate Text" class="img-responsive" />
<div class="row">
<div class="col-md-3">
<%-- NestedRepeater --%>
<p>
<%# Item.TourId %>
</p>
<asp:Repeater ItemType="TourDate" ID="RptTourNested" runat="server" EnableViewState="false" DataSourceID="ObjectDataSource1">
<ItemTemplate>
<h2>
<%# Item.TourStartDate %>
</h2>
</ItemTemplate>
</asp:Repeater>
</div>
<div class="col-md-6">
<%-- This Column works correctly --%>
<h4>
<%# Item.TName %>
</h4>
<p>
<%# Item.TDes %>
</p>
</div>
<div class="col-md-3">c</div>
</div>
</li>
</ItemTemplate>
<FooterTemplate>
</ul>
</FooterTemplate>
</asp:Repeater>
</div>
"ObjectDataSource1"の名前を別の名前に変更する作業はありますか? – Bikee