请问asp.net C#不用控制怎么写分页 如题,,,asp.net C#不用控制如何写分页,,,最好可以给出代码来看看 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 没明白什么意思?不用控制什么?是指控件吗?你可以不用AspnetPager这样的控件啊!ObjectDataSource本身也支持分页的。看它的属性栏,有EnablePaging, SelectCountMethod, StartRowIndexParameterName, MaximumRowsParameterName等属性。这些都和自定义分页有关的属性。配合存储过程可以不用AspnetPager这样的控件也能实现自定义分页。 非常简单,以Northwind的Products表为例,只显示三列: ProductID, ProductName, UnitPrice.1、写个存储过程:CREATE PROCEDURE dbo.GetProductsPaged( @startRowIndex int, @maximumRows int)AS SELECT ProductID, ProductName, UnitPriceFROM ( SELECT ProductID, ProductName,UnitPrice, ROW_NUMBER() OVER (ORDER BY ProductName) AS RowRank FROM Products ) AS ProductsWithRowNumbersWHERE RowRank > @startRowIndex AND RowRank <= (@startRowIndex + @maximumRows)2、添加新项->数据集新建一TableAdapter,配置过程中选择‘使用现有存储过程’。当然是选刚建的那个SP了。下一步,下一步,完成。再给TableAdapter添加一个查询,‘使用SQL语句’->‘SELECT(返回单个值)’->SQL:select count(*) from Products, 名称就设为:SelCnt吧。3、页面上拖一个GridView,数据源选择ObjectDataSource.Select方法选择...GetProductsAdpater, 照这么来也就这一个选项了。下一步完成。4、到ASPX页面把<SelectParameters>全删掉,SelectCountMethod属性:SelCnt,最后<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" OldValuesParameterFormatString="original_{0}" SelectCountMethod="SelCnt" SelectMethod="GetData" TypeName="DataSet1TableAdapters.GetProductsPagedTableAdapter" EnablePaging="True"> </asp:ObjectDataSource>对了,EnablePaging="True"完事儿。照做一遍!以后别在贴子上说什么没有会吗这样子。其实会的只是懒的回。 如果是access又怎么不用控件写分页啊,,这个是sql有存储过程 不用控件就要用数据源分页技术了。如下代码? protected void BindRepeater(int pagesize,int pg,string orderstr) { PagedDataSource ps = new PagedDataSource(); ps.DataSource = 数据源; ps.AllowPaging = true; ps.PageSize = pagesize; ps.CurrentPageIndex = 0; pages.InnerHtml = db.BindPages(pg, 8, pagecount, Request.RawUrl);//分页 Repeater1.DataSource = ps; Repeater1.DataBind(); }你好好看看MSDN帮助里的PagedDataSource对象 谢谢你的回复,,,但是你也用了控件... Repeater1, Repeater分页我也会,,但是我想是不用控件,,实现分页,,,而己是access数据库 直接用sql语句,分页的时候只要拿出需要显示的部分就可以了, LZ受控件影响太深了,那么在原来的ASP,或者PHP等等没有存在所谓的封装控件,难道就不能分页了吗?自己取数据,自己计算,然后在确定显示那一页,仅此而已。 呵呵,,我是asp的油条了,写分页都不用控制,,但是是在asp的情况,,,现在在转asp.net C#,我现在想知道,,asp.net c#是怎么实现的...感觉ms出的控件会把人搞傻瓜,,所以不想用控件,,,而己看那些大站,,都不怎么使用控件的,,,像动网的论坛的.net版,,,最多也是用个repeater,,其他的像51aspx的那些开源代码,,,给我的感觉悟是小学生作品,,看了,学到什么 access可以用存储过程吗? 控件是一样的原来,既然你是ASP的油条,那么这样来解释,无非两种1、你可以把数据全部读到容器里,如:DataTable,然后通过自己的逻辑来进行现实。2、先计算数据,然后只从数据库读取当前页的需要的信息。第一种呢一般是长期使用,而且相对固定,访问次数多,数据量不是很大的情况下用的,可以写到服务器缓存里。第二种呢,反之。其实分页原理一样的,无非数据操作,没有你想象的那么神秘。说白了,控件只是封装好的一些逻辑,所以让人初接受的朋友感觉到神秘,好像很专业似的,等你慢慢阅读他的源代码,你也发现其实很简单。 晕,,,当然不是啦,,,但是有时用控件,,真的不是很自由,,asp.net控件不可否认是很强大,,,但是你用控件不够自由吧!,,我用asp想做什么就什么,,,但是用asp.net C#控件感觉没有那么自由 想不用控制写分页,,那就要存储过程,,,如果用access的话,,就可以用PagedDataSource +Repeater1吧repeater只是一个容器控件,,这个控件是很自由的,,,所以你可以自由发挥,,不像其他那些多功能功能,,功能强,,但是不可以自由发挥 .net如何判断数据库中查询出一列的值?? ASP.NET生成静态页的问题,预编译出错。挣扎!!!!!! 如何通过代码访问ftp非默认目录 关于LISTBOX的一些问题,在线等 部署项目时,在参数表中配置系统参数是什么意思 散分。 使用HtmlInputFile遇到问题。 label的宽度问题:( 请问各位大哥,如何像csdn界面那样左边有一小列,当按左边时,右边出现相应的界面,怎么做的 Visual Studio 2010里面DropDownList控件的取值 如何通过WEB的方式把EXCEL导入到SQL 数据库的表中? 谢谢 gridview 绑定的数据如何加超链接
1、写个存储过程:CREATE PROCEDURE dbo.GetProductsPaged
(
@startRowIndex int,
@maximumRows int
)
AS
SELECT ProductID, ProductName, UnitPrice
FROM
(
SELECT ProductID, ProductName,UnitPrice,
ROW_NUMBER() OVER (ORDER BY ProductName) AS RowRank
FROM Products
) AS ProductsWithRowNumbers
WHERE RowRank > @startRowIndex AND RowRank <= (@startRowIndex + @maximumRows)2、添加新项->数据集新建一TableAdapter,配置过程中选择‘使用现有存储过程’。当然是选刚建的那个SP了。
下一步,下一步,完成。再给TableAdapter添加一个查询,‘使用SQL语句’->‘SELECT(返回单个值)’->SQL:select count(*) from Products, 名称就设为:SelCnt吧。3、页面上拖一个GridView,数据源选择ObjectDataSource.
Select方法选择...GetProductsAdpater, 照这么来也就这一个选项了。
下一步完成。4、
到ASPX页面把<SelectParameters>全删掉,SelectCountMethod属性:SelCnt,最后<asp:ObjectDataSource ID="ObjectDataSource1" runat="server"
OldValuesParameterFormatString="original_{0}" SelectCountMethod="SelCnt"
SelectMethod="GetData"
TypeName="DataSet1TableAdapters.GetProductsPagedTableAdapter"
EnablePaging="True">
</asp:ObjectDataSource>对了,EnablePaging="True"完事儿。照做一遍!
以后别在贴子上说什么没有会吗这样子。其实会的只是懒的回。
{
PagedDataSource ps = new PagedDataSource();
ps.DataSource = 数据源;
ps.AllowPaging = true;
ps.PageSize = pagesize;
ps.CurrentPageIndex = 0;
pages.InnerHtml = db.BindPages(pg, 8, pagecount, Request.RawUrl);//分页
Repeater1.DataSource = ps;
Repeater1.DataBind();
}你好好看看MSDN帮助里的PagedDataSource对象
自己取数据,自己计算,然后在确定显示那一页,仅此而已。
access可以用存储过程吗?
控件是一样的原来,既然你是ASP的油条,那么这样来解释,无非两种1、你可以把数据全部读到容器里,如:DataTable,然后通过自己的逻辑来进行现实。
2、先计算数据,然后只从数据库读取当前页的需要的信息。第一种呢一般是长期使用,而且相对固定,访问次数多,数据量不是很大的情况下用的,可以写到服务器缓存里。
第二种呢,反之。其实分页原理一样的,无非数据操作,没有你想象的那么神秘。说白了,控件只是封装好的一些逻辑,所以让人初接受的朋友感觉到神秘,好像很专业似的,等你慢慢阅读他的源代码,你也发现其实很简单。
不够自由吧!,,我用asp想做什么就什么,,,但是用asp.net C#控件感觉没有那么自由
如果用access的话,,就可以用
PagedDataSource +Repeater1吧
repeater只是一个容器控件,,这个控件是很自由的,,,所以你可以自由发挥,,不像其他那些多功能功能,,功能强,,但是不可以自由发挥