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. hibernate中的sql语句

    hibernate的hql查询语句总结   在这里通过定义了三个类,Special.Classroom.Student来做测试,Special与Classroom是一对多,Classroom与Stud ...

  2. 如何在无法直接用VS启动代码时如何调试代码

    1. 普通情况下对进程Attach就可以调试. 2. 但是在一些情况下直接attach并无法调试,例如安装程序installer, 这样使用如下的调试方法即可调试安装程序. System.Diagno ...

  3. 避免VMware P2V 过程中遇到的磁盘问题及解决 版本5.5

    正式步骤开始:填写红色框内相关要被转换成虚拟机的物理机器的账号信息 选择虚拟主机要转换到的目的主机,填写相关的账号信息 设置转换参数:这里要注意一下关于磁盘的设置,注意:如果源系统是LVM的磁盘卷不将 ...

  4. EFI、GPT和BIOS、MBR

    用了数十年的PC机主板架构是BIOS模式.但在2004年,微软和英特尔共同推出一种名为可扩展固件接口(EFI)的主板升级换代方案.EFI,即可扩展固件接口(Extensible Firmware In ...

  5. 主机连不上虚拟机中的Redis的原因分析、以及虚拟机网络配置

    1. 网络最好是桥接方式.我之前用的是"网络地址转换(NAT)",导致虚拟机里用命令ifconfig得到的ip是10.0.2.15,好奇怪的感觉,然后在真实机上一直连不上.有的说用 ...

  6. maven 运行tomcatrun -Dmaven.multiModuleProjectDirectory system property is not set. Check $M2_HOME environment variable and mvn script match.

      解决-Dmaven.multiModuleProjectDirectory system property is not set. Check $M2_HOME environment varia ...

  7. python_批量修改文件名

    1.在movies文件夹下面的所有文件前面都加上[可可可可] #coding:utf-8 import os movie_name = os.listdir('./movies') for temp ...

  8. mybatis配置sql超时时间

    mybatis如果不配置,默认超时时间是不做限制的.当系统慢sql很多时,势必会增加数据库压力,系统性能及稳定性降低.所以有必要要设置sql超时设置,下面配置超时时间是5分钟. 第一步:全局配置如下 ...

  9. Web多客户端单点登录

    一  数据库 除了用户表之外,新建一个外联表<用户票据表> fdUsTiUserID,fdUsTiType,fdUsTiTicket 分别对应用户ID,客户端类型(PC,mobile) 票 ...

  10. 读取Zip文件内容

    第一步,上次文件并保存到服务器目录下 /// <summary> /// 上传压缩文件 /// </summary> protected void UploadZip() { ...