注册 登录
编程论坛 ASP.NET技术论坛

关于WEB打印

coolfaith 发布于 2007-12-15 15:36, 912 次点击
小弟在做打印,用到一个DATAGRID,最后面一列模板列放的是CHECKBOX
比如里面有5条记录
而我选择里面的两条记录(勾了2个CHECKBOX)然后按打印
int Count=0;
foreach(DataGridItem item in this.DataGrid1.Items)
{
CheckBox chk_Select=(CheckBox)item.FindControl("ckbselect2");
if(chk_Select.Checked)
{
  Count++;
  string RNumber="";
  RNumber=item.Cells[3].Text;
  Response.Write("<script language='JavaScript'>window.open('Print_Request_Ordernew.aspx?ID="+RNumber+"')</script>");
}

照道理来讲,如果有两条记录的话,就应该打开2个打印预览,循环两个打印预览分别传入不同的单号。但是结果却是两个预览打开的是相同的单号的打印。


我以为是froeach的问题,后面我又该成

int Count=0;
ArrayList ary=new ArrayList();
foreach(DataGridItem item in this.DataGrid1.Items)
{
  CheckBox chk_Select=(CheckBox)item.FindControl("ckbselect2");
  if(chk_Select.Checked)
  {
   Count++;
   string RNumber="";
   RNumber=item.Cells[3].Text;    
   ary.Insert(Count-1,RNumber);
  }
}
  for(int a=0;a<ary.Count;a++)
  {
    string R=ary[a].ToString();
    Response.Write("<script language='JavaScript'>window.open('Print_Request_Ordernew.aspx?ID="+R+"')</script>");
  }

这样子的话,我跟踪了下,数组抓值是正确的,但是在弹出打印的时候还是打开相同单号的打印预览
更奇怪的是,一步步的调试,到最后竟然正常传入不同的单号,而不调试的话就还是传入相同的单号,郁闷啊
请各位大哥帮忙看看
2 回复
#2
smoon2007-12-16 08:55
估计不是程序的问题啊。。你试试把ie的缓存清掉看是什么结果
#3
coolfaith2007-12-16 19:31
我在程序要打开打印页面的那页加上了清空缓存的代码
结果还是一样啊,郁闷啊
调试就没问题,没调试就有问题
1