• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

[转]asp.net中repeater按钮传值与分页

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

我想要在repeater中每绑定一行数据时,都对应一个按钮,其实也就是做后台管理,但我在按键的执行事件中却总是得不到要传递的值,开始我是这样传的:

CommandArgument="<%#Eval('adminID') %>"//这一行是传值

CommandName="upd"//因为有两个按钮,所以会有这一行

当然,这都是按钮的属性,但这样执行时总是报错,实在不知其中意思了,把上面的代码改为如下:

CommandArgument='<%#Eval("adminID") %>'

CommandName="upd"

一切正常,郁闷~~~~~~~~~

当然,这一小篇的正式内容当然是repeater分页了,其实reapeater分页在前台的代码并不多,只是增加了几个按钮:首页、上一页、下一页、未页,对了还有(当前页/总页);对了,这里用的方法是asp.net集成的方法(前几天去面试,有一美女程序员问我编码实现数据分页,整理思路,感觉不难,如果手头的活忙完了,也可以一试)。

首先:后台对repeater绑定数据源上就有很大的差别:

主义的数据源不再是datasource而是:

        public static PagedDataSource pds = new PagedDataSource();//把它设置为类的属性,方便在类内调用

    public void bind(string str,int page)//做成方法为了方便点击   “首页”等按钮时调用
    {

        pds.DataSource = BLL.adminLogin.getdt(str).DefaultView;//为pds绑定数据源
        pds.AllowPaging = true;   //启用分页
        pds.PageSize = 18;    //每页显示记录条数
        pds.CurrentPageIndex = page;//设置第page页为起始页


        Repeater1.DataSource = pds; //最后再把数据源绑定给repeater
        Repeater1.DataBind();

        if (page == 0)   //决定“首页”等各个按钮的可用性,假如现在在第一页,那么“首页”和“上一页”一定不可以使用,不是吗??
        {
            display();
            Button1.Enabled = false;
            Button2.Enabled = false;
        }
        else if (page == (pds.PageCount - 1))
        {
            display();
            Button3.Enabled = false;
            Button4.Enabled = false;
        }
        else
        { display(); }

   }

   那么 ,在按钮的事件中,我就会很省力气了

    protected void Button1_Click(object sender, EventArgs e)
    {
        //这是首页
        bind(sql, 0);
        display();
        Button1.Enabled = false;
        Button2.Enabled = false;
    }
    protected void Button2_Click(object sender, EventArgs e)
    {
        //这是上一页
        bind(sql, pds.CurrentPageIndex - 1);
    }
    protected void Button3_Click(object sender, EventArgs e)
    {
        //这是下一页
        bind(sql, pds.CurrentPageIndex + 1);
    }
    protected void Button4_Click(object sender, EventArgs e)
    {
        //这是未页
        bind(sql, pds.PageCount - 1);
    }
    public void display() //这个方法使所以的按钮可用
    {
        Button1.Enabled = true;
        Button2.Enabled = true;
        Button3.Enabled = true;
        Button4.Enabled = true;
    }

然后,没有然后了,一切搞定,需要补充的就是,那几个按钮的位置并没有要求,只要觉得看上去漂亮,那么,什么地方都可以放的,呵呵 ~~~~~


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
(转)asp.net文本编辑器(FCKeditor)发布时间:2022-07-10
下一篇:
ASP.NET2.0防止同一用户同时登陆方法一(转)发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap