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];

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

  1. MYSQL版查询分页存储过程

    /*--名称:MYSQL版查询分页存储过程 --输入参数:@fields -- 要查询的字段用逗号隔开--输入参数:@tables -- 要查询的表--输入参数:@where -- 查询条件--输入参 ...

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

    Layui 点击查询分页,页码不刷新解决方法 function queryDataGrid() { layui.table.reload(tableName, { where: { //设定异步数据接 ...

  3. 使用AspNetPager进行分页,查询条件丢失问题

    在Asp.Net中使用AspNetPager进行分页时,发现一个问题: 当通过查询条件进行查询后,对查询结果进行翻页操作时,查询条件会丢失. 当修改UrlPaging属性后(设置UrlPaging=“ ...

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

    一.前言 多条件查询分页以及排序  每个系统里都会有这个的代码 做好这块 可以大大提高开发效率  所以博主分享下自己的6个版本的 多条件查询分页以及排序 二.目前状况 不论是ado.net 还是EF ...

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

    poscms系统本身有一个在查询页(search页面)实现的查询分页功能,基于系统封装的php函数dr_search_url() 但是今天的需求除了导航栏.列表页.详情页都实现查询功能外,关键是有两个 ...

  6. 查询分页的几种Sql写法

    查询分页的几种Sql写法 摘自:http://www.cnblogs.com/zcttxs/archive/2012/04/01/2429151.html 1.创建测试环境,(插入100万条数据大概耗 ...

  7. 分页查询时,使用cookie保存上次的查询条件。jQuery实现方法以及中间遇到的坑

    今天做分页查询时需要在跳转页面时保存上次查询的条件,如下: 实现的大致思路就是用cookie本地保存. 其中需要用到jQuery.Cookie插件. 使用方法很简单: 存数据:$.cookie(“ke ...

  8. 第二百八十八节,MySQL数据库-索引、limit分页、执行计划、慢日志查询

    MySQL数据库-索引.limit分页.执行计划.慢日志查询 索引,是数据库中专门用于帮助用户快速查询数据的一种数据结构.类似于字典中的目录,查找字典内容时可以根据目录查找到数据的存放位置,然后直接获 ...

  9. 【mysql】 mybatis实现 主从表 left join 1:n 一对多 分页查询 主表从表都有查询条件 【mybatis】count 统计+JSON查询

    mybatis实现 主从表 left join  1:n 一对多 分页查询   主表从表都有查询条件+count 需求: ======================================= ...

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

    添加一个log.js文件,进行接口调用. import axios from '@/libs/api.request' const MODULE_URL = '/log'; export const ...

随机推荐

  1. SpringMVC学习简单HelloWorld实例

    首先还是从一个简单的Hello World项目说起: 我机器的开发环境为: Ubuntu12.04(不同操作系统对本系列项目没有影响): 开发工具:Eclipse For JavaEE: 数据库:My ...

  2. 后台的Activity被系统回收怎么办?

    onSaveIntanceState,当程序中的某个Activity A在运行中,主动或者被动的运行另外一个新的Activity B,这个时候 A就会执行onSaveIntanceState(Bund ...

  3. java学习笔记 (7) —— 实现简单的上传处理

    1.下载apache 的 commons-fileupload.jar 包及 commons-io.jar 2.引入到lib 文件夹下 3.新建uploadApache.jsp <%@ page ...

  4. em与px的区别 [ 转 ]

    其实,还是不大理解,为什么1em=16px:而且,还一般要在body里面,就写清楚Fone-size=62.5%,然后再让1em=10px进行使用:那么,为什么不直接在当时定义em的时候,就直接让它等 ...

  5. kakfa-性能相关

    1.增大partition最大连接数 kafka的集群有多个Broker服务器组成,每个类型的消息被定义为topic,同一topic内部的消息按照一定的key和算法被分区(partition)存储在不 ...

  6. AngularJS自定义表单控件

    <!doctype html> <html ng-app="myApp"> <head> <script src="G:\\So ...

  7. linux中screen命令的用法

    http://www.9usb.net/201002/linux-screen-mingling.html 作为linux服务器管理员,经常要使用ssh登陆到远程linux机器上做一些耗时的操作.也许 ...

  8. Linux Makefile自动生成--config.h

    Linux Makefile自动生成--config.h http://blog.csdn.net/spch2008/article/details/12510805

  9. 轻量级GUI enlightenment

    嵌入式和LINUX PC都可以使用: https://www.enlightenment.org/start

  10. [Powershell] 检查IIS设置

    $script:OutMessage = "ok" function WriteLog([string] $content){ #Write-Host $content $scri ...