cari

Rumah  >  Soal Jawab  >  teks badan

使用AspNetPager进行分页的时候遇到引用不到对象。

1、使用VS2015开发时要添加分页功能,初学.net,于是从网上找了分页插件:AspNetPager分页控件,工程中已经使用VS集成的数据库连接字符串连接上了oracle数据库

<add name="ConnectionString" connectionString="Provider=MSDAORA.1;Data Source=orcl;Persist Security Info=True;Password=admin;User ID=SCOTT" providerName="System.Data.OleDb"/>

57357e6782d66.png

从数据库查出的测试数据也已经能看到:

57357e6782d66.png

2、怎么才能将分页控件跟上面的table绑定起来呢?我按照网上给的方法试了试,发现VS会出现引用不到类的问题:
参考的控件使用方法如下:
http://www.ppcn.net/66721.html

3、按照上面的操作之后VS中缺少AskManager类对象:

57357e6782d66.png

应该怎么使用这个插件呢?是不是缺少dll?

高洛峰高洛峰2925 hari yang lalu1222

membalas semua(1)saya akan balas

  • 三叔

    三叔2016-11-19 17:08:46

    新手是吧,没人回复是不是觉得很失望?
    其实很简单,你这问题让别人一看就知道你这属于啥都不懂,没有任务基础的。不是别人不热心,而是不知道从何说起,很有可能给你说了半天你也未必听得懂,而且越说越复杂,你越听越晕。这就好比你不愿意为幼儿园的小朋友讲解三角函数一样。
    所以到今天已经5天了,没有一个人回答你的问题。

    好,回到问题本身,听不听得懂就看你的造化了。
    缺少的那个AskManager类对象是因为他那个示例中有部分代码没有贴出来,也就是说源码并不是不完整的。文章是讲分页控件使用,所以和分页无关的那部分他自己的业务逻辑代码就没贴出来。
    因为稍为懂点的人都能明白那是干什么的,只是他没想到的是碰上你这么一个小白。
    当前这个AspNetPager控件需要两个数据源,一个是当前要显示的数据列表,另一个是全部数据的总数。
    bind方法中只从数据库取出了当前要显示的数据列表(缓存在ds中,然后赋值给RepeaterAskAnswer.DataSource),但并没有直接提供另一个,而是通过另一个叫AskManager类的静态方法来提供的。
    好像越解释越乱了,我还是直接上代码吧。

    public class AskManager {
        public static System.Data.DataTable GetAllAsks() {
            System.Data.SqlClient.SqlConnection connection = new System.Data.SqlClient.SqlConnection(ConfigurationManager.ConnectionStrings["tianzi"].ConnectionString);
            System.Data.SqlClient.SqlCommand cmd = new SqlCommand("select * from ask", connection);
            SqlDataAdapter sda = new SqlDataAdapter(cmd);
            System.Data.DataSet ds = new System.Data.DataSet();
            sda.Fill(ds,"asks");
            return ds.Tables["asks"];
        }
    }

    到这里,分页控件应该可以正常使用了,但是...
    别高兴太早,他这个分页有问题。
    AskManagero类的GetAllAsks方法返回的是一个表格(DataTable),通过获取整个表格的行数来取得全部数据的总数,那分页还有什么意义?有什么问题,你自己想一下咯。
    看AspNetPager的用法,首先应该考虑去官网(http://www.webdiyer.com/),而不是随便在网上找一篇文章。
    注意学习方法,任何问题首先应该自己思考+参考官方文档,然后才是搜索引擎,然后才是向别人请教或在网上提问。

    哎,不知道写了这么多你能认真看几个字,不是我想在这装13教训你,我也没有这个意思,只是有点悲哀.net圈尽是这种白痴问题。


    balas
    0
  • Batalbalas