pageload没用用if (!IsPostBack)判断吗?

解决方案 »

  1.   

    dtsum = ExamArrangeInfo.getExamArrangeForPrint(xn, xq, lsxm, jsdm, kcmc, kssj, kssjz, kkyx, jkyx);
    DataTable dv = dtsum.Copy(); ;
                    DataTable rpdt = dv.DefaultView.ToTable(true, "kssj", "xn", "xq", "jsxm", "ksdd", "kcmc", "kcdm", "jk", "bsid");
                    rpdt.DefaultView.Sort = "jsxm";
                    rpClass.DataSource = rpdt.DefaultView.ToTable();
                    rpClass.DataBind();
      

  2.   

    你干嘛要转来转去呢?你在闹哪样啊dtsum = ExamArrangeInfo.getExamArrangeForPrint(xn, xq, lsxm, jsdm, kcmc, kssj, kssjz, kkyx, jkyx);
    DataTable dv = dtsum.Copy(); ;
                    DataTable rpdt = dv.DefaultView.ToTable(true, "kssj", "xn", "xq", "jsxm", "ksdd", "kcmc", "kcdm", "jk", "bsid");
                    rpdt.DefaultView.Sort = "jsxm";
                    rpClass.DataSource = rpdt.DefaultView.ToTable();
                    rpClass.DataBind();
      

  3.   

    DataTable dtsum = ExamArrangeInfo.getExamArrangeForPrint(xn, xq, lsxm, jsdm, kcmc, kssj, kssjz, kkyx, jkyx);
    dtsum.DefaultView.Sort= "jsxm";
    rpClass.DataSource = dtsum.DefaultView.ToTable();
    rpClass.DataBind();这样不行?
      

  4.   

    因为我的那个dtsum还有别的用途,所以copy一份作为备份。
      

  5.   

    关键是不懂你什么地址又对dtsum 进行了操作
      

  6.   

    我这个地方只是筛选了dtsum的某些字段绑定到repeater控件,下面还有别的控件需要dtsum的全部数据,因此copy了一份,然后对dtsum的copy结果筛选,绑定到repeater控件,而不影响dtsum的值。
      

  7.   

    一个DataTable可以绑定多个控件,你的代码不完整,很难说得清楚
      

  8.   

    恩,试了,用每次新建一个DataTable,然后将查询结果放在dataTable里面,还是不行。
      

  9.   

    发完整的代码,关键dtsum 是怎么定义的
      

  10.   


    如果只是重新绑定的放在,那么你的这个if(!IsPostBack)里面了没有?如果会再一次走过你的这个DataSoucre的话,那就在绑定的时候,你的这个DataScource绑定之前清空一下...
      

  11.   

    ExamArrangeInfo.getExamArrangeForPrint(xn, xq, lsxm, jsdm, kcmc, kssj, kssjz, kkyx, jkyx);加断点,看看每次这里执行结果,进函数里面仔细调试调试。
      

  12.   


    如果只是重新绑定的放在,那么你的这个if(!IsPostBack)里面了没有?如果会再一次走过你的这个DataSoucre的话,那就在绑定的时候,你的这个DataScource绑定之前清空一下...
    不能调试,我是直接写的发布程序,C#放在前台的,这个项目的dll文件我是动不了的,因此,我只能在前台页面写C#逻辑代码。
      

  13.   

    同一个页面用同一种方式绑定的gridview没有这种情况,数据源相同,只有repeater出现问题。
      

  14.   

    定义是没问题的,因为如果我按照比较小的频率刷,页面是正常的,如果刷新间隔比较大的时候才会出现重复数据。且同一个datatable绑定到gridview是没问题的,只有repeater出现这种问题。
      

  15.   

    定义是没问题的,因为如果我按照比较小的频率刷,页面是正常的,如果刷新间隔比较大的时候才会出现重复数据。且同一个datatable绑定到gridview是没问题的,只有repeater出现这种问题。那就只剩一种可能,你的SQL语句有问题,特别是关联的语句,很容易漏了条件,导致有重复数据
      

  16.   

    定义是没问题的,因为如果我按照比较小的频率刷,页面是正常的,如果刷新间隔比较大的时候才会出现重复数据。且同一个datatable绑定到gridview是没问题的,只有repeater出现这种问题。那就只剩一种可能,你的SQL语句有问题,特别是关联的语句,很容易漏了条件,导致有重复数据问题是,页面初始化是正常的,刷新间隔大于1s时,也是正常的,只有短时多次刷新才会产生异常。
      

  17.   

    DataTable dv = dtsum.Copy(); ;是啥意思啊?
      

  18.   

    把if(!ispostback)
    里面的代码段发出来。
      

  19.   

    恩,我重新写了代码,现在来贴一下,命名全部改变了。
    <%@ Import Namespace="GoodoWzt.Web" %>
    <%@ Import Namespace="System.Xml" %>
    <script language="C#" runat="server">   
       protected void Page_Load(object sender, System.EventArgs e)
        {
            if (!IsPostBack)
            {
                //获取网站及栏目的基本信息
                int nSubjectID = WS5.tool_PageParaCheckInt("SubjectID");
                int nSiteID = WS5.tool_PageParaCheckInt("SiteID");
                //头部logo、banner和bottom信息绑定
                xmlTitle.Document = WS5.sbt_get_xd_SubjectAncestorList(nSubjectID);
                xmlTop.Document = WS5.site_get_xd_SiteInfo(nSiteID);
                xmlNavigation.Document = WS5.sbt_get_xd_SiteSubjectTree(nSiteID, 0);
                rp32801.DataSource = WS5.sbt_get_dt_SplitSubjectList(nSubjectID, 32801);
                rp32801.DataBind();
                rp32802.DataSource = WS5.sbt_get_dt_SplitSubjectList(nSubjectID, 32802);
                rp32802.DataBind();            //获取底部内容相信信息            xmlBottom.Document = WS5.site_get_xd_SiteInfo(nSiteID);
            }
            
     }
    </script>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
    <!-- saved from url=(0064)http://www.pslq.pudong-edu.sh.cn/goodo/Web/LQXX/ZONGHE/28178.htm -->
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"><head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
    <title>
            <asp:xml id="xmlTitle" runat="server" transformsource="xsltPbTitle.xslt" />
    </title>
    <link rel="stylesheet" type="text/css" href="css/jcxx_1.css"/>
    <script language="JavaScript" type="text/JavaScript">
    <!--
    function MM_swapImgRestore() { //v3.0
      var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
    }function MM_preloadImages() { //v3.0
      var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
        var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
        if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
    }function MM_findObj(n, d) { //v4.01
      var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
        d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
      if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
      for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
      if(!x && d.getElementById) x=d.getElementById(n); return x;
    }function MM_swapImage() { //v3.0
      var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
       if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
    }
    //-->
    </script><meta name="GENERATOR" content="MSHTML 9.00.8112.16490"></head>
    <body onLoad="MM_preloadImages('images/t3_dl_pic2.gif')"><?xml version="1.0" encoding="gb2312"?>
    <table class="t1" border="0" cellSpacing="0" cellPadding="0" width="1002" align="center" 
    height="150">
      <tbody>
      <tr>
        <td vAlign="top">
          <!--头部logo-->
          <asp:Xml ID="xmlTop" runat="server" TransformSource="xsltHead.xslt" />      
          </td></tr></tbody></table>
    <table class="t2" border="0" cellSpacing="0" cellPadding="0" width="1002" align="center" 
    height="52">
      <tbody>
      <tr>
        <td vAlign="top" align="center">
          <table class="t2_box" border="0" cellSpacing="0" cellPadding="0" width="90%">
            <tbody>
            <tr>
              <td>
              <!--导航栏节点-->
                 <asp:Xml ID="xmlNavigation" runat="server" TransformSource="xsltNavigation.xslt" />
                 </td>
               </tr>
            </tbody></table></td></tr></tbody></table>
    <table class="t3" border="0" cellSpacing="0" cellPadding="0" width="1002" align="center">
      <tbody>
      <tr>
        <td vAlign="top" width="245" align="right">
          <table class="t3_box1" border="0" cellSpacing="0" cellPadding="0" width="210" 
          height="110">
            <tbody>
            <tr>
              <td vAlign="bottom" align="right"><a style="display:block;width:210px;height:110px;" onMouseOver="MM_swapImage('Image2','','images/t3_dl_pic2.gif',1)" 
                onmouseout="MM_swapImgRestore()" href="http://192.168.99.2:8001/BasePlate/LoginCenter/Login.aspx" 
                target="_blank"></a></TD></TR></TBODY></TABLE>
          <TABLE class="t3_box2" border="0" cellSpacing="0" cellPadding="0" width="210" 
          height="215" xmlns:myNS="urn:myNameSpace" xmlns:msxsl="urn:schemas-microsoft-com:xslt">
            <TBODY>
            <TR>
              <TD height="45" vAlign="bottom" width="80" align="center"><IMG src="images/28180_1.gif" 
                width="51" height="45"></TD>
              <TD class="font_1" vAlign="bottom" width="130" align="left">公告</TD></TR>
            <TR vAlign="middle" align="center">
              <TD height="170" colSpan="2">
                <MARQUEE onMouseOver="this.stop()" onMouseOut="this.start()" 
                direction="up" height="150" width="173" scrollAmount="2">
                <TABLE border="0" cellSpacing="0" cellPadding="0" width="173" 
                height="150">
                  <TBODY>
                  <TR>
                    <TD vAlign="top" align="left">
                  
                  <asp:Repeater ID="rp32801" runat="server">
                                <ItemTemplate>
                                    <asp:Xml ID="Xml3" runat="server" TransformSource='<%#Eval("TXslt").ToString() %>'
                                        Document='<%#WS5.cont_get_xd_SubjectContentTopList(int.Parse(Eval("SID").ToString()),int.Parse(Eval("LC").ToString()))%>' />
                                </ItemTemplate>
                            </asp:Repeater>                
                    
                    
                    </TD>
        <TD vAlign="top" width="757" align="left">
          <TABLE class="t3_box3" border="0" cellSpacing="0" cellPadding="0" width="715">
            <TBODY>
            <TR>
              <TD vAlign="top"><IMG src="images/t3_m_bj1.gif" 
                width="715" height="17"></TD></TR>
            <TR>
              <TD class="t3_m2" height="500" vAlign="top" background="images/t3_m_bj2.gif" 
              align="center">
                <TABLE class="style_2" border="0" cellSpacing="0" cellPadding="0" 
                width="670">
                  <TBODY>
                 
                  
                  
                  <asp:Repeater ID="rp32802" runat="server">
                                <ItemTemplate>
                                <%#(Container.ItemIndex%2==0)?"<tr>":""%>
                                    <asp:Xml ID="Xml30" runat="server" TransformSource='<%#Eval("TXslt").ToString() %>'
                                        Document='<%#WS5.cont_get_xd_SubjectContentTopList(int.Parse(Eval("SID").ToString()),int.Parse(Eval("LC").ToString()))%>' />
                                         <%#(Container.ItemIndex%2==1)?"</tr>":""%> 
                                </ItemTemplate>
                            </asp:Repeater></TBODY></TABLE>
                                  
                                  
                                  
                                  </TD></TR>
            <tr>
              <TD class="t3_m2" vAlign="bottom"><IMG src="images/t3_m_bj3.gif" 
                width="715" height="17"></TD></tr></TBODY></TABLE>
          <TABLE class="t3_box5" border="0" cellSpacing="0" cellPadding="0" width="730" 
          height="30">
            <TBODY>
             <!-- 底部信息 -->
            <asp:Xml runat="server" ID="xmlBottom" TransformSource='bottom.xslt' />            
            </TBODY>
            </TABLE>
           
          <IMG src="images/spacer.gif" 
          width="100" height="40"></TD></TR></TBODY></TABLE></BODY></HTML>
      

  20.   

    用集合吧.....看到dataTable就头大..
      

  21.   

    怎样清空repeater?是绑定一个空的数据源,还是移除子控件?
      

  22.   


    最古老的写法:this.Repeater.DataSource=null;
      

  23.   

    有没有想过是数据源的问题呢?先把Repeater放一边,直接Response.Write(DataTable.Rows.Count)
      

  24.   

    dtsum = ExamArrangeInfo.getExamArrangeForPrint(xn, xq, lsxm, jsdm, kcmc, kssj, kssjz, kkyx, jkyx);
    DataTable dv = dtsum.Copy(); ;
                    DataTable rpdt = dv.DefaultView.ToTable(true, "kssj", "xn", "xq", "jsxm", "ksdd", "kcmc", "kcdm", "jk", "bsid");
                    rpdt.DefaultView.Sort = "jsxm";
                 rpClass.DataSource=null;
                 rpClass.DataBind();
                     rpClass.DataSource = rpdt.DefaultView.ToTable();
                    rpClass.DataBind();
    试一下
      

  25.   

    1.把copy去掉   用到数据的时候再去数据库取一遍就是了(不会比你copy一下慢多少)  引用类型的copy不是你想象中的那么简单
      

  26.   

    1.把copy去掉  用到数据的时候再去数据库取一遍就好了(不会比你copy下慢多少)
      

  27.   

    copy 造成的!你把COPY注释掉,然后再试,一步一步调试!