(转)AspNetPager查询分页问题(点击页码,不再是查询后的数据集)viewstate解决

public string SQL = "select * from Memorandum";

      protected void Page_Load(object sender, EventArgs e)

      {

          if (!IsPostBack)

          {

              ViewState["SQL"] = SQL;

              BindData();

          }

          if (Request.QueryString["MId"] != null)

          {

              Delete(int.Parse(Request.QueryString["MId"].ToString()));

          }

      }

      protected void AspNetPager1_PageChanged(object sender, EventArgs e)

      {

          BindData();

      }

     

      void BindData()

      {

          PagedDataSource pds = new PagedDataSource();

          IList<MemorandumInfo> Infos = new DAL.Memorandum().GetAllMemorandumsBySQL(ViewState["SQL"].ToString());

          pds.DataSource = Infos;

          pds.AllowPaging = true;

          pds.PageSize = 10;//取控件的分页大小

          pds.CurrentPageIndex = this.AspNetPager1.CurrentPageIndex - 1;//显示当前页

          //设置控件

          this.AspNetPager1.RecordCount = Infos.Count;//记录总数

          this.AspNetPager1.PageSize = 10;

          Repeater1.DataSource = pds;

          Repeater1.DataBind();

      }

      void Delete(int MId)

      {

          new Memorandum().DeleteMemorandum(MId);

          Response.Write("<script>alert(‘成功删除该条备忘信息‘);location=‘?‘;</script>");

      }

      /// <summary>

      /// 查询

      /// </summary>

      /// <param name="sender"></param>

      /// <param name="e"></param>

      protected void Button1_Click(object sender, EventArgs e)

      {

          if (DropDownList1.SelectedValue == "0")

          {

              ViewState["SQL"] = "select * from Memorandum";

              BindData();

          }

          else

          {

              ViewState["SQL"] = "SELECT   MId, MemoTitle, MemoContent, MemoStartTime, MemoEndTime FROM  Memorandum WHERE (MemoEndTime - NOW() <=7)";

              BindData();

          }

      }

  }

ViewState 用来跟踪和保存控件的状态信息。否则这些信息可能会丢失,原因可能是这些值不随着 form 回发,或者根本就不在 page 的 html 中。
ViewState 中保存着代码中改变的控件属性,通过代码绑定到控件的任何数据,以及由用户操作触发,回发的任何更改。
ViewState 还提供了一个状态包(StateBag), 这是一个特殊的集合或字典(collection or dictionary), 可以用来保存,通过一个 key 来恢复任意的对象或者值。

赋值:ViewState[key] = value;

取值:value = ViewState[key];

时间: 2024-08-29 02:49:05

(转)AspNetPager查询分页问题(点击页码,不再是查询后的数据集)viewstate解决的相关文章

Django-rest-framework多条件查询/分页/多表Json

Django-rest-framework多条件查询/分页/多表Json django-rest-framework多条件查询需要覆写ListAPIView.get_queryset方法,代码示例: def get_queryset(self):     """     使用request.query_params实现多条件查询,也可以使用django filter ,较简单的     方法是在filter_fields中指定要过滤的字段,但只能表示等值,不灵活,灵活的方式是

Layui 点击查询分页,页码不刷新解决方法

Layui 点击查询分页,页码不刷新解决方法 function queryDataGrid() { layui.table.reload(tableName, { where: { //设定异步数据接口的额外参数,任意设 columnName: layui.$("#columnName").val(), columnValue: layui.$("#columnValue").val(), QueryStr: "", state: layui.$

动态多条件查询分页以及排序(一)--MVC与Entity Framework版url分页版

一.前言 多条件查询分页以及排序  每个系统里都会有这个的代码 做好这块 可以大大提高开发效率  所以博主分享下自己的6个版本的 多条件查询分页以及排序 二.目前状况 不论是ado.net 还是EF 在做多条件搜索时 都有这类似的代码 这样有几个不好的地方 1.当增加查询条件,需要改代码,对应去写相应的代码. 2.对多表查询以及or的支持 不是很好.而我们很常见的需求不可能是一个表的查询 3. 这样写表示层直接出现 了SQL语句 或者 linq 的拉姆达表达式  这是很不好的 表示层不应该知道数

AspNetPager真假分页对比实例

从开始学习BS已经有一段时间了.对于BS的设计,都是进行的网页设计,其中包括从数据库中取出来的数据,显示在页面上.以前在CS中,都是使用GridView等表格控件进行显示,由于数据小,而且右侧又有滚轮.所以从来都没有考虑过给数据进行分页.所以这是一大失误.现在反应过来也不算晚.接下来,让我们接触一下分页. 不进行分页的弊端: 对于大数据的查询操作. 1.数据量太大,窗体载入时间太慢 2.显示的数据量太大,用户看起来不舒服. 分页的两种方式: 假分页: 在执行查询的时候,就把所有的数据都查询出来,

poscms基于list标签实现的查询分页功能

poscms系统本身有一个在查询页(search页面)实现的查询分页功能,基于系统封装的php函数dr_search_url() 但是今天的需求除了导航栏.列表页.详情页都实现查询功能外,关键是有两个不同的模块,模块不同,如果用 系统的search的话,那就得弄两个search页面出来,其实搜索结果页面完全就是照搬列表页,所以,我为什么不 直接用列表页作为模板呢,不去走系统的search控制器.下面上列表页: 1.筛选条件的获取以及查询页的路径拼接 <div class="paixu&qu

page分页问题,根据页码获取对应页面的数据,接口调用

import axios from '@/libs/api.request' const MODULE_URL = '/log'; export const actionLogData = (params, cb) => { axios.request({ url: `${MODULE_URL}/actionLog`,//接口位置 method: 'get', params }).then(cb); }; Page分页问题. <Page class="table-page clear

多表查询分页[多次查询]

问题描述: 1:我们使用PageHelper插件的时候,PageHelper.startPage(pageNow,pageSize)要放在查询语句的前面 2:当startPage的后面有多次查询的话,它只对第一条查询语句有效果 3:假如要进行多次查询,然后对结果进行分页,关注点是:对最后的结果进行分页,而不是第一次查询出来的结果 最终解决办法有2种:第一种:依旧是用老套路,用原始自己写的PageUtil做[因为里面存放的数据就是List的,所以将最终查询的结果(不管你查询多少次)直接放进去即可]

Hibernate的几种查询方式-HQL,QBC,QBE,离线查询,复合查询,分页查询

HQL查询方式 这一种我最常用,也是最喜欢用的,因为它写起来灵活直观,而且与所熟悉的SQL的语法差不太多.条件查询.分页查询.连接查询.嵌套查询,写起来与SQL语法基本一致,唯一不同的就是把表名换成了类或者对象.其它的,包括一些查询函数(count(),sum()等).查询条件的设定等,全都跟SQL语法一样. 示例: Session session = SessionFactory.getCurrentSession(); User user = null; Transaction ts = s

RDIFramework.NET 中多表关联查询分页实例

RDIFramework.NET 中多表关联查询分页实例 RDIFramework.NET,基于.NET的快速信息化系统开发.整合框架,给用户和开发者最佳的.Net框架部署方案.该框架以SOA范式作为指导思想,作为异质系统整合与互操作性.分布式应用提供了可行的解决方案. 分页非常的常见,基本任何项目都会涉及到分页,这没什么好谈的,大多数我们分页对单表的分页比较多,对多表的分页我们可以通过视图来实现,当然还有其他的方式,在这儿,我以一个实例展示下使用我们的RDIFramework.NET来实现多表

Asp.Net数据控件引用AspNetPager.dll分页

今天与大家分享一下"Asp.Net数据控件引用AspNetPager.dll分页"首先声明以下几点: 1.也许讲解有点初级,希望高手不要"喷"我,因为我知道并不是每一个人都是高手,我也怕高手们说我装13,小生不才: 2.如有什么不对的地方,还希望大家指出,一定虚心学习: 3.本文属于作者原创,尊重他人劳动成果,转载请注明作者,谢谢. 下面开讲: 第一步:首先是下载一个AspNetPager.dll 下载地址 http://files.cnblogs.com/tand