.net初学者的困惑之AspNetPager控件的困惑

问题描述

后台usingSystem;usingSystem.Data;usingSystem.Configuration;usingSystem.Collections;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;usingSystem.Web.UI.HtmlControls;usingSystem.Data.SqlClient;publicpartialclassPro_page:System.Web.UI.Page{protectedvoidPage_Load(objectsender,EventArgse){if(!IsPostBack){AspNetPager1.PageSize=2;Binds();}}publicvoidBinds(){SQLHelpersqlhelp=newSQLHelper();//using(SqlConnectionconn=newSqlConnection(sqlhelp.GetType))using(SqlConnectionconn=newSqlConnection(sqlhelp.ToString())){SqlCommandcmd=newSqlCommand();cmd.CommandText="tz";//存储过程名cmd.Connection=conn;cmd.CommandType=CommandType.StoredProcedure;intpageindex=0;stringstrWhere="";if(AspNetPager1.CurrentPageIndex<1){pageindex=1;}else{pageindex=AspNetPager1.CurrentPageIndex;}SqlParameter[]parameters={newSqlParameter("@tblname",SqlDbType.VarChar,255),newSqlParameter("@strGetFields",SqlDbType.VarChar,1000),newSqlParameter("@fldName",SqlDbType.VarChar,255),newSqlParameter("@pagesize",SqlDbType.Int,4),newSqlParameter("@pageindex",SqlDbType.Int,4),newSqlParameter("@doCount",SqlDbType.Bit),newSqlParameter("@ordertype",SqlDbType.Bit),newSqlParameter("@strwhere",SqlDbType.VarChar,2000)};parameters[0].Value="T_Party";//数据表名称.parameters[1].Value="id,党组织编码";//要显示的字段名parameters[2].Value="id";//主键parameters[3].Value=AspNetPager1.PageSize;//每页显示记录数parameters[4].Value=pageindex;//索引页parameters[5].Value=0;//这里写死0就行了parameters[6].Value=0;//这里的1是降序,0为升序parameters[7].Value=strWhere;//查询条件组合foreach(SqlParameterpinparameters){cmd.Parameters.Add(p);}SqlDataAdaptersda=newSqlDataAdapter(cmd);DataSetds=newDataSet();sda.Fill(ds);GridView1.DataSource=ds.Tables[0].DefaultView;GridView1.DataBind();//动态设置用户自定义文本内容AspNetPager1.RecordCount=int.Parse(ds.Tables[1].Rows[0][0].ToString());AspNetPager1.CustomInfoHTML="记录总数:"+AspNetPager1.RecordCount.ToString()+"条,";AspNetPager1.CustomInfoHTML+="共有"+AspNetPager1.PageCount.ToString()+"页,";AspNetPager1.CustomInfoHTML+="当前页:"+AspNetPager1.CurrentPageIndex.ToString();CustomInfoHTML.Text=AspNetPager1.CustomInfoHTML;}}protectedvoidAspNetPager1_PageChanged(objectsender,EventArgse){Binds();}}连接数据库控制GridView分页SQLHelperusingSystem;usingSystem.Data;usingSystem.Data.SqlClient;usingSystem.Collections;usingSystem.Configuration;///<summary>///该类中封装了大部分数据库操作,该部分能防止SQL注入攻击///</summary>publicclassSQLHelper{#region属性privatestringConnectionStr=ConfigurationManager.ConnectionStrings["PartyMis"].ConnectionString;privateSqlConnectioncnn=null;privateSqlDataAdapterdadPartyMis=null;//数据库适配器对象privateSqlCommandcmdPartyMis=null;//命令对象#endregion#region构造、析构publicSQLHelper(){cnn=newSqlConnection(ConnectionStr);}~SQLHelper(){cnn.Dispose();}#endregion#region防sql注入后//将HashTable中变量名、值转为参数privatevoidGetParams(SqlCommandcmd,Hashtableht){if((ht.Count==0)||(cmd==null))return;cmd.Parameters.Clear();foreach(DictionaryEntryvalinht){cmd.Parameters.Add((string)val.Key,val.Value);}}///<summary>///执行sql语句strSql,成功则返回true;///</summary>///<paramname="strSql">sql语句</param>///<returns>true:成功;false:失败</returns>publicintExecSql(stringstrSql,Hashtableht){using(cmdPartyMis=newSqlCommand(strSql,cnn)){GetParams(cmdPartyMis,ht);cnn.Open();intval=cmdPartyMis.ExecuteNonQuery();cnn.Close();returnval;}}///<summary>///执行SQL语句,返回第一行的第一列///</summary>///<paramname="sql">sql</param>///<returns>第一行的第一列</returns>publicobjectGetFirst(stringsql,Hashtableht){using(cmdPartyMis=newSqlCommand(sql)){cmdPartyMis.Connection=cnn;GetParams(cmdPartyMis,ht);cnn.Open();objectval=cmdPartyMis.ExecuteScalar();cnn.Close();returnval;}}///<summary>///执行sql语句strSql,返回查询结果。strSql格式为:select*fromXwhere字段1=@a或execP_Sel@a///</summary>///<paramname="strSql">查询语句</param>///<returns>查询结果</returns>publicDataTableGetTable(stringstrSql,Hashtableht){using(dadPartyMis=newSqlDataAdapter()){cmdPartyMis=newSqlCommand(strSql,cnn);GetParams(cmdPartyMis,ht);DataTabledt=newDataTable();dadPartyMis.SelectCommand=cmdPartyMis;dadPartyMis.Fill(dt);returndt;}}#endregion///<summary>///通过该方法可以执行指定的存储过程///</summary>///<paramname="strProcName">存储过程名称</param>///<paramname="strInputs">输入参数列表</param>///<paramname="alOutputs">输出参数列表</param>///<returns></returns>publicboolExecProc1(stringstrProcName,HashtablealInputs,HashtablealOutputs){using(cmdPartyMis=newSqlCommand()){cmdPartyMis.Connection=cnn;cmdPartyMis.CommandType=CommandType.StoredProcedure;cmdPartyMis.CommandText=strProcName;SqlParameterparmReturnValue;try{foreach(DictionaryEntryinputinalInputs){cmdPartyMis.Parameters.Add(input.Key.ToString(),input.Value.ToString());}foreach(DictionaryEntryentryinalOutputs){if(entry.Valueisint)cmdPartyMis.Parameters.Add(entry.Key.ToString(),SqlDbType.Int);elseif(entry.Valueisstring)cmdPartyMis.Parameters.Add(entry.Key.ToString(),SqlDbType.VarChar,200);cmdPartyMis.Parameters[entry.Key.ToString()].Direction=System.Data.ParameterDirection.Output;}parmReturnValue=cmdPartyMis.Parameters.Add("ReturnValue",SqlDbType.Int);parmReturnValue.Direction=ParameterDirection.ReturnValue;cmdPartyMis.Connection.Open();cmdPartyMis.ExecuteNonQuery();Hashtableht=newHashtable();foreach(DictionaryEntryentryinalOutputs){ht.Add(entry.Key.ToString(),cmdPartyMis.Parameters[entry.Key.ToString()].Value);}cmdPartyMis.Connection.Close();alOutputs.Clear();foreach(DictionaryEntryentryinht){alOutputs.Add(entry.Key.ToString(),entry.Value.ToString());}returntrue;}catch(Exceptione1){cmdPartyMis.Connection.Close();returnfalse;}}}///<summary>///执行指定存储过程(不带输出参数)///</summary>///<paramname="strProcName">存储过程名称</param>///<paramname="strInputPars">参数列表</param>///<paramname="alInputValues">参数值</param>///<returns>返回值</returns>publicboolExecProc2(stringstrProcName,HashtablealInputValues){using(cmdPartyMis=newSqlCommand()){cmdPartyMis.Connection=cnn;cmdPartyMis.CommandType=CommandType.StoredProcedure;cmdPartyMis.CommandText=strProcName;foreach(DictionaryEntryvalinalInputValues){cmdPartyMis.Parameters.Add(val.ToString(),val.Value.ToString());}try{cmdPartyMis.Connection.Open();cmdPartyMis.ExecuteNonQuery();cmdPartyMis.Connection.Close();returntrue;}catch(Exceptione1){cmdPartyMis.Connection.Close();returnfalse;}}}}

解决方案

解决方案二:
我只是在困惑你在困惑什么呢?
解决方案三:
引用1楼的回复:

我只是在困惑你在困惑什么呢?

+1
解决方案四:
同L上,把LZ的困惑用中文来写出来
解决方案五:
那个全是错的困惑连接数据库根本无法运行。。。大家帮帮忙看下实在不行给我个能运行的连接数据库控制GridView分页的就行
解决方案六:
....下载AspNetPager演示一看就懂啊
解决方案七:
http://www.webdiyer.com/download/show/30
解决方案八:
我下载的时候怎么就一个下载地址没演示啊
解决方案九:
演示里面有各种成功的数据库连接分页实例http://www.webdiyer.com/download/show/30

解决方案十:
就是下载地址啊,你把他代码下载下来就可以看了啊,都是演示代码
解决方案十一:
该回复于2012-05-10 14:37:36被版主删除
解决方案十二:
恩恩我看看谢了啊
解决方案十三:
引用2楼的回复:

引用1楼的回复:我只是在困惑你在困惑什么呢?+1

++

时间: 2024-10-03 05:11:16

.net初学者的困惑之AspNetPager控件的困惑的相关文章

关于AspNetPager控件使用的困惑,高手请进,Webdiyer要是看到麻烦过来看看!

问题描述 问题:我使用AspNetPager控件比如我定义的一页只显示8行数据,但是为什么我绑定数据后第一页显示两条数据,然后翻下一页的时候就是正常的8条数据,只有第一页会有问题,有的页面是3条,很郁闷,没有找到原因?哪位遇到同样问题请帮忙回答,感谢! 解决方案 解决方案二:仔细看看你的数据绑定和翻页事件的代码...要不把代码帖出来.解决方案三:我之前都好着呢,我的代码现在没带,用的是存储过程,我在查询分析器里测试了,数据都对,就是在第一页数据不对,翻到其他页面数据都正确!解决方案四:细看看你的

AspNetPager控件的最基本用法示例介绍_实用技巧

AspNetPager控件是一个基于.net的第三方免费开源控件,具有开发高效.使用方便.功能完整等优点.它弥补了GridView内置分页以及PageDatasource类辅助分页的不足,将分页数据逻辑和页面UI分离开来,非常有利于SQL分页的实现.下面仅举一个最基本的用法,帮助初学者入门. 到AspNetPage官方网站相应页面下载控件:点击打开链接 下载后解压缩,里面有一个AspNetPager.dll文件,它就是我们要使用的控件.另外还有一个AspNetPager.xml文件,它是对应的文

AspNetPager控件的最基本用法_实用技巧

它弥补了GridView内置分页以及PageDatasource类辅助分页的不足,将分页数据逻辑和页面UI分离开来,非常有利于SQL分页的实现.下面仅举一个最基本的用法,帮助初学者入门. 到AspNetPage官方网站相应页面下载控件:点击打开链接 下载后解压缩,里面有一个AspNetPager.dll文件,它就是我们要使用的控件.另外还有一个spNetPager.xml文件,它是对应的文档,主要有两个作用:一是供开发人员使用控件时在代码智能提示里嵌入使用说明,二是供自动生成文档工具生成文档只用

关于AspNetPager控件的问题,紧急求助!

问题描述 是这样的,想在一个页面上使用两个AspNetPager控件,都使用PostBack方式分页,现在遇到一个问题,AspNetPager1一切正常,但是同样的代码逻辑,AspNetPager2第一次绑定时正常,但是一PostBack之后,RecordCount就变成0了,导致CurrentPageIndex一直为1没法改变.请问这个问题该如何解决?如果我想在一个页面上放两个AspNetPager控件是否可以都使用PostBack方式进行分页? 解决方案 解决方案二:等高手解答一下.紧急啊解

Asp.Net分页和AspNetPager控件的使用

下面就来重点说说这几种分页方式: 一般情况下我们都是通过sql语句来分页,这在无论哪种开发语音都是通用的, 使用sql语句或者存储过程分页的方式最主要的是要在读取数据的时候把sql语句或者存储过程写好,它的原理是只读取当前要显示的几行记录,所以要根据页数和每页显示的数目来写语句,如下: Select top pageSize * from News where id not in(select top (Page-1)*pageSize id from News) 很显然只要将pageSize和

Asp.Net分页和AspNetPager控件的使用_实用技巧

下面就来重点说说这几种分页方式: 一般情况下我们都是通过sql语句来分页,这在无论哪种开发语音都是通用的, 使用sql语句或者存储过程分页的方式最主要的是要在读取数据的时候把sql语句或者存储过程写好,它的原理是只读取当前要显示的几行记录,所以要根据页数和每页显示的数目来写语句,如下: Select top pageSize * from News where id not in(select top (Page-1)*pageSize id from News) 很显然只要将pageSize和

百分求助大神!!!AspNetPager控件分页,点击下一页和尾页出现javascript错误,JavaScript 运行时错误

问题描述 AspNetPager分页的时候,把数据绑定到ReaPeter上能够看到一共几页每页显示几条数据,说明已经分出了页.但是在点击下一页和尾页的时候就出现javascript运行错误,无法设置未定义或null引用的属性"value".很郁闷!!!先谢谢各位大神帮助!!!!!!!!!!!相关代码如下:前台页:已经引入AspNetPager.dll<%@PageLanguage="C#"AutoEventWireup="true"Code

.NET实现Repeater控件+AspNetPager控件分页_实用技巧

当然首先你要把bin文件放进你的项目,并加到你的工具栏去 //页头需引用的 <%@ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefix="webdiyer" %> 控件部分(格式已经设计好) <webdiyer:AspNetPager ID="AspNetPager1" runat="server" Alw

对ASP.NET 2.0下面的新控件的困惑

asp.net|控件 大家知道在ASP.NET2.0下面微软件给出了一系统的新控件,有一些是挺有用的,比如那个Membership成员管理系统,以及分步向导控件都为我们节省了很多的时间,而另外一些,比如从Datagrid上升级来的Gridview有时候感觉倒不是那么好. 这个控件在为我们提供很大的方便的同时也失去灵活性,比如直接指定一个SQL语句就可以完成数据访问的工作,而分页显示,排序更是比吃饭还简单.众所周知,这是与我们分层的逻辑架构设计相违背的,这样就造成了一个难堪的局面,新手很难单单只凭