本文介绍了在的ItemDataBound中继器嵌套的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个嵌套Repeater在我的网页表单,我把两个ObjectDataSource的每个中继器。

我有这种方法在我repositiry:

 公开的IQueryable< TourDate> GetById(INT标识)
{
    返回model.TourDates.Where(E => e.TourId == ID);
}

我需要设置ItemDataBound事件。

在我写这篇code为ItemDataBound事件:

 保护无效RptTourDetail_ItemDataBound(对象发件人,RepeaterItemEventArgs E)
{
   如果(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] =默认值dataItem.TourId。
 }
}

但它dosent承认TourId最后line.I觉得有什么错的是没有这种

  VAR的DataItem = e.Item.DataItem;

没有任何人有任何想法什么问题呢?

如果需要一些解释有关projcet:

这里是我的模型

和HTML:

 < ASP:ObjectDataSource控件ID =ODSTTitle=服务器SelectMethod =GetById的TypeName =ATourRep>
        < SelectParameters>
            < ASP:QueryStringParameter默认值=0NA​​ME =IDQueryStringField =CIDTYPE =的Int32/>
        < / SelectParameters>
    < / ASP:ObjectDataSource控件>< ASP:ObjectDataSource控件ID =ObjectDataSource1=服务器SelectMethod =GetById的TypeName =ATourDateRep>
        < SelectParameters>
            < ASP:参数名称=ID类型=的Int32/>
        < / SelectParameters>
    < / ASP:ObjectDataSource控件>< D​​IV CLASS =容器ID =TourDetail>        < ASP:直放站ID =RptTourDetail=服务器的DataSourceID =ODSTTitle的ItemType =游的EnableViewState =假OnItemDataBound =RptTourDetail_ItemDataBound>
            <&HeaderTemplate中GT;                < UL>
            < / HeaderTemplate中>
            <&ItemTemplate中GT;
                <立GT;
&所述; IMG SRC =&下;%#Item.TImgUrl%gt;中ALT =替代文本级=IMG响应/>
                    < D​​IV CLASS =行>
                        < D​​IV CLASS =COL-MD-3>
                            <% - NestedRepeater - %GT;
                            &所述p为H.;                                <%#Item.TourId%GT;                            &所述; / P>
                            < ASP:直放站的ItemType =TourDateID =RptTourNested=服务器的EnableViewState =假的DataSourceID =ObjectDataSource1>
                                <&ItemTemplate中GT;
                                    < H2>                                   <%#Item.TourStartDate%GT;
                                         < / H>
                                < / ItemTemplate中>
                            < / ASP:直放站>
                        < / DIV>
                        < D​​IV CLASS =COL-MD-6>
                            <% - 此列正常工作 - %GT;
                            < H4>
                                <%#Item.TName%GT;
                            < / H4>
                            &所述p为H.;
                                <%#Item.TDes%GT;
                            &所述; / P>
                        < / DIV>
                        < D​​IV CLASS =COL-MD-3> C< / DIV>
                    < / DIV>                < /李>            < / ItemTemplate中>            < FooterTemplate>
                < / UL>
            < / FooterTemplate>
        < / ASP:直放站>    < / DIV>


解决方案
    ObjectDataSource ObjectDataSource1 = (ObjectDataSource)e.Item.FindControl("ObjectDataSource1");
ObjectDataSource1.SelectParameters["TourId"].DefaultValue = dataItem.TourId;
    ObjectDataSource objTourDataSource= (ObjectDataSource)e.Item.FindControl("ObjectDataSource1");
objTourDataSource.SelectParameters["TourId"].DefaultValue = dataItem.TourId;

这篇关于在的ItemDataBound中继器嵌套的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-24 01:46