1.前台代码:

<asp:Repeater ID="OrderList" runat="server"
onitemdatabound="OrderList_ItemDataBound">
<ItemTemplate>
<div class="item">
<table class="table" style=" border:1px solid #DDCCCC;; border-right:none;" cellspacing="" cellpadding="">
<tr><td rowspan="" colspan=""><h1>益农乐游农品清单</h1></td><td>发货单号:</td><td colspan=""></td></tr>
<tr><td>时间:</td><td colspan=""></td></tr>
<tr><td >订单号:</td>
<td colspan=""><%#Eval("orderCode")%></td>
<td>下单时间:</td>
<td colspan=""><%#Eval("ordertime")%></td></tr>
<tr><td >收货人:</td><td><%#Eval("consignee")%></td><td>地址:</td><td colspan="" style=" text-align:left;"><%#Eval("address")%></td></tr>
<tr><td >电话:</td><td colspan="" style=" text-align:left"><%#Eval("mobile")%></td></tr>
<tr><td colspan="">&nbsp;</td></tr>
<tr><td>序号</td><td colspan="">农品描述</td><td>单价</td><td>数量</td><td>金额</td></tr>
<asp:Repeater runat="server" ID="detailOrder">
<ItemTemplate>
<tr><td><%#Eval("rowID")%></td>
<td colspan="" class="tr" style=" text-align:left"><%#Eval("Name")%></td>
<td><%#Eval("UnitPrice")%></td>
<td><%#Eval("Count")%></td><td>
<%#Eval("TotalPrice")%></td></tr>
</ItemTemplate>
</asp:Repeater>
<tr><td class="dd">配送费:</td><td><%#Eval("express")%></td><td class="dd">促销折扣:</td><td colspan="" class="dd"><%#Eval("perferPrice")%></td><td class="dd">订单金额:</td><td><%#Eval("amount")%></td><td class="dd" style=" ">游游卡支付:</td><td><%#Eval("ka")%></td></tr>
<tr><td>已付款:</td><td><%#Eval("resultAmount")%></td><td>应付款:</td><td colspan="" style="text-align:left;"><%#Eval("resultAmount")%></td></tr>
</table>
</div>
</ItemTemplate> </asp:Repeater>

2.后台代码:

 protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack)
{
string ids =Request.Params["ids"];
string[] array = ids.Split(new char[] { '_' }, StringSplitOptions.RemoveEmptyEntries);
string newids = string.Join(",", array);
InitData(newids);
}
}
public void InitData(string newids)
{
var _list = odpdbasicBLL.GetModelList(" ID in (" + newids + ")").Select(c => new OrderNode
{
orderID=c.ID,
orderCode = c.OrderCoder,
ordertime = c.Created.ToString(),
consignee = c.Consignee,
mobile = c.Mobile,
address =c.Address +"(" +c.PostCode+")",
amount = string.Format("{0:.00}",c.Amount), //金额
perferPrice ="未打折" ,//打折
express =c.Express==?"0.00":string.Format("{0:.00}",c.Express),
resultAmount =string.Format("{0:.00}",Convert.ToDouble(c.Amount) -Convert.ToDouble(c.SubPrice) + Convert.ToDouble(c.Express)),
yingAmount=c.Status==?string.Format("{0:.00}",Convert.ToDouble(c.Amount) -Convert.ToDouble(c.SubPrice) + Convert.ToDouble(c.Express)):"0.00",
ka="0.00"
}).ToList();
OrderList.DataSource = _list;
OrderList.DataBind();
} protected void OrderList_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
Repeater rep = e.Item.FindControl("detailOrder") as Repeater;//找到里层的repeater对象
OrderNode rowv = (OrderNode)e.Item.DataItem;//找到分类Repeater关联的数据项
int ID= rowv.orderID; //获取填充子类的orderID
int i = ;
var _list = odpddetailBLL.GetModelList("OrderID=" + ID).Select(c => new
{
rowID=i++,
Name=c.Name+"("+c.ProNameStr+")",
UnitPrice=c.UnitPrice,
TotalPrice=c.TotalPrice,
Count=c.Count, }).ToList();
rep.DataSource =_list;
rep.DataBind();
}
}

3.说明:

因为数据是model类型的所以在

 OrderNode rowv = (OrderNode)e.Item.DataItem;//找到分类Repeater关联的数据项 

是转成model类型,若是数据是table类型,那么在此就应该是

 DataRowView rowv = (DataRowView)e.Item.DataItem;//找到分类Repeater关联的数据项 

Repeater控件的嵌套使用的更多相关文章

  1. Repeater 控件的嵌套使用

      Repeater 控件的嵌套使用   ItemDataBound:数据绑定的时候(正在进行时)发生,多用在Repeater控件嵌套,对子Repeater控件进行数据绑定及模板列中统计列的计算处理等 ...

  2. ASP.NET- 查找Repeater控件中嵌套的控件

    如何在Repeater的HeaderTemplate和FooterTemplate模板中寻找控件?在Repeater的ItemTemplate模板中的控件,我们可以用Items属性来遍历行并用Find ...

  3. Repeater控件三层嵌套-内层Repeater添加绑定事件

    用Repeater三层嵌套,最外层Repeater可以生成自己的ItemCommand事件.但接下来中间层因为是嵌套了的,所以无法在属性窗口中生成自己的事件.如果手动敲入则无效. 解决办法是需要通过编 ...

  4. 使用Repeater控件实现三层嵌套以及分页效果

    PS: 第一次用Repeater控件 记录一下 请忽略我的命名不规范  请忽略我的最终效果图(太丑了) 需要用到的朋友可以自行调整的漂亮点 ====================最终效果图===== ...

  5. Repeater控件 ---表格展示数据

    简介: Repeater控件是Web 服务器控件中的一个容器控件,它使您可以从页的任何可用数据中创建出自定义列表. Repeater 控件不具备内置的呈现功能,这表示用户必须通过创建模板为 Repea ...

  6. asp.net repeater控件操作

    Repeater控件和DataList控件,可以用来一次显示一组数据项.比如,可以用它们显示一个数据表中的所有行. Repeater控件完全由模板驱动,提供了最大的灵活性,可以任意设置它的输出格式. ...

  7. asp.net动态网站repeater控件使用及分页操作介绍

    asp.net动态网站repeater控件使用及分页操作介绍 1.简单介绍 Repeater 控件是一个容器控件,可用于从网页的任何可用数据中创建自定义列表.Repeater 控件没有自己内置的呈现功 ...

  8. ASP.Net中通过Jquery前端对Repeater控件绑定的数据进行操作

    说明:由于Repeater控件是动态绑定,通过Id获取数据只能默认获取第一行: 1.对Repeater中div设置样式 2.通过$(".css").each(function(){ ...

  9. Repeater 控件

    Repeater 控件是一个容器控件,可用于从网页的任何可用数据中创建自定义列表.Repeater 控件没有自己内置的呈现功能,这意味着用户必须通过创建模板来提供 Repeater 控件的布局.当网页 ...

随机推荐

  1. [Q]如何将图纸打印为黑白的及设置打印样式

    若只是想打印黑白图形,则在“打印样式列表”选择“monchrome.ctb”打印样式即可. 设置其它打印样式:在CAD批量打图精灵主界面下点设置打印样式图标,如下图: 在打开的资源管理器中选择您想要更 ...

  2. google谷歌翻译插件-网页一键翻译

    上个月转载的一篇博文,是推荐的四款非常实用的翻译插件,这几天看这个chrome插件网首页有新增了一个google谷歌翻译插件.我能说实话,这款插件比之前推荐的4款翻译插件更好用吗?也不能完全说是更好用 ...

  3. SQL中游标的使用--遍历数据逐行更新或删除:相当于for循环

    --------------------------------------例子1 单纯的游标-------------------------------- create TABLE Table1 ...

  4. JAVA语法基础(课堂ppt问题总结)

    一:运行源代码EnumTest.java,分析运行结果. 代码如下: public class EnumTest { public static void main(String[] args) { ...

  5. RF环境搭建

    官网:http://robotframework.org/ 序号 安装包名 安装方法 下载地址 备注 1 python exe文件,直接双击安装 https://www.python.org/down ...

  6. PNPOLY - Point Inclusion in Polygon Test

    https://www.ecse.rpi.edu/Homepages/wrf/Research/Short_Notes/pnpoly.html The C Code Here is the code, ...

  7. 一个小时快速搭建微信小程序

    「小程序」这个划时代的产品发布快一周了,互联网技术人都在摩拳擦掌,跃跃欲试.可是小程序目前还在内测,首批只发放了 200 个内测资格(泪流满面).本以为没有 AppID 这个月就与小程序无缘了,庆幸的 ...

  8. fpSpread 设置Border 样式

    // Create a new bevel border. //FarPoint.Win.BevelBorder bevelbrdr = new FarPoint.Win.BevelBorder(Fa ...

  9. js格式转换

    //1.保留整数 function showInteger(value,row,index){ if(value!=null && value!="" && ...

  10. php之soap使用

    1,首先要在linux服务器安装php的soap拓展,最快的方式是yum安装: #yum install php-soap 然后重启apache即可 2,php调用soap接口 try{ $soap ...