1、各位在显示一个表的数据的时间用的哪个(您为什么要用这个?)
   我用过DataList Repeater 及
<% for (int i=0; i < dt.Rows.Count; i++) { %>
  <tr align="center">
      <td><%= i+1 %></td>
      <td><% = dt.Rows[i]["OrderID"]%></td>
      <td><% = dt.Rows[i]["productModel"]%></td>
  </tr>
<%}%>这三种,发现都有美中不足的感觉,列如第三种,速度N快,在被次操作(回传)之后都要为DataTable 赋值.
想请教一种稍为方便一点且快一点的方法。
2、我在用以上三种显示数据并用AspNetPager 分页时,例如:我当前翻到了第8页,删除了一行记录后,又回到了第一页。(我比喜欢记他传到另一页去操作,例:删除 href="abc_edit.aspx?action=del&id=100", 当然在当前页也可以)请各位指点一二,删除后停在原页,但要求看不到已删除的那个项(也就是说要更新)注:ajax 的方法不要 (并非抵制)

解决方案 »

  1.   

    1.多数formview 直接就绑定了(Bind),如果是纯网站的话只能是后台代码绑定,
    2.代码绑定的gridview在第二页删除一条记录后,刷新后还是停在第二页。
      

  2.   

    1. GridView,DataList
    2. 删除操作完成后如果用分页,则给其传一个删除前当前页的参数,然后重新绑定数据
      

  3.   

    1.repeater,快。没有任何冗余代码。
    2.你的bind()方法,本来就应该存有当前页的值,所以你删除后执行bind()理应是这一页.
      

  4.   

    怎么有一点asp的感觉呢,用bind是最方便的吧
      

  5.   

    以下是我的作法:如果仅仅是为了显示数据,对于Html代码的格式不要求的话,直接使用gridview或者datalist等服务器控件,绑定对象集合,让它帮我输出代码就可以了。
    例如:
    gridview gv1;
    gv1.datasource=objs;
    gv1.databind();如果仅仅是显示数据,并且要执行W3c标准输出Html代码的话,就自己写绑定对象集的方法,并输出。
    比如:
    stringbulider sb = new stringbulider ();
    foreach(object obj in objs)
    {
      sb.append("<li>");
      sb.append(obj.attribute);
      sb.append("</li>");
    }
    return sb.tostring();*另 
    对于页面回传后,要重新绑定的数据,可以使用服务器的缓存机制。如cache等来缓存常用的数据,下次回传页面时,不用访问数据库直接就可以绑定。对于数据量比较大,用户数比较多的系统,可以采用将常用数据(比如菜单列表)以xml形式保存在服务器端,一个用户一个文件夹的私人数据,或者session序列化数据。下次访问次直接读取。
    关于删除数据后,还保持在当前页面这个操作,需要一些要对来说算是复杂的算法了。
    删除后,你要计算删除当前选中的项后,当前页面是否还存在。如果不存在,你要向前跳一页。如果是多人并行系统,如果删除的项是复选项,还有可能要向前跳多页。并且你还要计算是否在删除的时候,是否别人也添加了数据,是否会向后跳一页或者多页等等。
      

  6.   

    都没有人用REPEATER吗??
    汗啊。
      

  7.   

    4 楼的对,是有点像ASP,jiezi316  怎么我的 repeater 还是在第一页?
      

  8.   


    直接使用gridview或者datalist等服务器控件,我这里没有说使用rp,因为那个单词不记得咋打了。呵呵。其实使用REPEATER也不错的。相对前两者来说,代码冗余也最少,因为输出的代码都是自己写的嘛。呵呵
      

  9.   

    pageindexchanged事件里指定当前页数,然后重新bind一下就可以了,记得在page_load时,判断一下ispostback
      

  10.   

    用repeater就可以,我也一直用这个感觉不错
      

  11.   

    个人使用DataList,使用Repeater需要自己写的代码比较多
      

  12.   

    repeater里面可以写table div 等,格式好控制。
    gridview功能比较多,看需要咯
      

  13.   

    DataList Repeater Gridview 
    我觉得这三个都蛮好用的,删除的时候重新绑定的时候把当前页面的页码传过去绑定 ,不就在当前页了嘛!
      

  14.   

    用response.redirect{"yourrefferpage.aspx?id={0}} id值为你修改时所在的页数.可用session等方式记录.
    或用request.referer获取请求页面,
    在删除事件完成后加入response.redirect导向那一页面.