`

多用户回复留言板小结

阅读更多
      做这个留言板使我更加懂得了“工欲善其事,必先利其器”这句话.就是因为浏览器的缘故,使我的开发时间延长了,而且产生了厌倦的情绪.幸好上网偶遇了金出武雄博士的“像外行一样思考,像专家一样实践-----科研成功之道”,阅读了几章便大有裨益,最终沉下心来继续开发.
    小结一下这个留言板:
           其实也没什么特别,是用datalist来绑定数据的,且回复内容也是用datalist来绑定,就是说datalist中嵌套了datalist.
           主要应用到的事件有:ItemCommand,ItemDataBound
      ItemCommand(object sender, DataListCommandEventArgs e)事件主要是datalist中选中项的控件(主要是linkbutton,imagebutton)点击的事件的实现
              用e.commandName来跟控件配对.引发相应的事件.
              ItemDataBound(object sender, DataListItemEventArgs e)顾名思义是绑定数据用的,绑定时要先判断
                            (e.Item.ItemType == ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
                         
     红色部分刚开始没判断 导致后来去Id的时候只去到单数项的,这个印象很深!!
                              取ID是先设置datalist的datakeyfield,然后要用时(通常是更新,删除等操作时要用到)通过dalalist.DataKey["e.Item.ItemIndex"]
                            来取选中项的datakeyfield的值.

     然后是分页部分,没什么好讲的,直接上代码:
            

             PagedDataSource objPD = new PagedDataSource();
            objPD.DataSource = dv;
            objPD.AllowPaging = true;
            objPD.PageSize = 8;
            lbTotal.Text = "共" + "<font color=#ff0000>" + objPD.PageCount.ToString() + "</font>" + "页";
            int CurentPage;
            if (Request.QueryString["page"] != null)
            {
                CurentPage = Convert.ToInt32(Request.QueryString["page"]);
            }
            else
            {
                CurentPage = 1;
            }
            objPD.CurrentPageIndex = CurentPage - 1;
            lnkCur.Text = "当前第"+"<font color=#ff0000>" + CurentPage.ToString()+"</font>"+"页";

            if (!objPD.IsFirstPage)
            {

                lnkFirst.NavigateUrl = Request.CurrentExecutionFilePath + "?page=1";
                lnkPrev.NavigateUrl = Request.CurrentExecutionFilePath + "?page=" + Convert.ToString(CurentPage - 1);
            }
            else
            {
                lnkFirst.Visible = false;
                lnkPrev.Visible = false;
             
            }
            if (!objPD.IsLastPage)
            {

                lnkEnd.NavigateUrl = Request.CurrentExecutionFilePath + "?page=" + Convert.ToString(objPD.PageCount);
                lnkNext.NavigateUrl = Request.CurrentExecutionFilePath + "?page=" + Convert.ToString(CurentPage + 1);
            }
            else
            {
                lnkEnd.Visible = false;
                lnkNext.Visible = false;
            }

            gbDl.DataSource = objPD;
            gbDl.DataBind();

        }
          这个东西虽然很基础,但发现做的时候,还不算熟练,以后要多练,基础很重要.
分享到:
评论

相关推荐

    ASP.NET3.5典型模块开发源代码

    1.5 小结 13 第2章 缓存管理模块 14 2.1 数据库缓存依赖的优点 14 2.2 开始使用缓存 15 2.2.1 开启应用程序的缓存功能 15 2.2.2 配置缓存依赖的数据库 15 2.2.3 为SQL Server启用缓存通知 16 2.3 ...

    ASP.NET3.5从入门到精通

    1.6 小结 第 2 章 C# 3.0 程序设计基础 2.1 C#程序 2.1.1 C#程序的结构 第一篇窗口与界面编程 7 2.1.2 C# IDE 的代码设置 2.2 变量 2.2.1 定义 2.2.2 值类型 2.2.3 引用类型 2.3 变量规则 2.3.1 命名规则和命名习惯 ...

    php网络开发完全手册

    1.7 小结 23 第2章 PHP的基础语法 24 2.1 语言构成与工作原理 24 2.2 常量与变量 25 2.2.1 常量的定义 25 2.2.2 变量的定义 26 2.2.3 变量的作用域 27 2.2.4 动态变量 29 2.3 运算符和关键字 29 2.4 流程控制语法 30...

    ASP.NET 3.5 开发大全11-15

    1.6 小结 第2章 C# 3.0程序设计基础 2.1 C#程序 2.1.1 C#程序的结构 2.1.2 C# IDE的代码设置 2.2 变量 2.2.1 定义 2.2.2 值类型 2.2.3 引用类型 2.3 变量规则 2.3.1 命名规则和命名习惯 2.3.2 声明并初始化变量 ...

    ASP.NET 3.5 开发大全word课件

    1.6 小结 第2章 C# 3.0程序设计基础 2.1 C#程序 2.1.1 C#程序的结构 2.1.2 C# IDE的代码设置 2.2 变量 2.2.1 定义 2.2.2 值类型 2.2.3 引用类型 2.3 变量规则 2.3.1 命名规则和命名习惯 2.3.2 声明并初始化变量 ...

    ASP.NET 3.5 开发大全

    1.6 小结 第2章 C# 3.0程序设计基础 2.1 C#程序 2.1.1 C#程序的结构 2.1.2 C# IDE的代码设置 2.2 变量 2.2.1 定义 2.2.2 值类型 2.2.3 引用类型 2.3 变量规则 2.3.1 命名规则和命名习惯 2.3.2 声明并初始化变量 ...

    ASPNET35开发大全第一章

    1.6 小结 第2章 C# 3.0程序设计基础 2.1 C#程序 2.1.1 C#程序的结构 2.1.2 C# IDE的代码设置 2.2 变量 2.2.1 定义 2.2.2 值类型 2.2.3 引用类型 2.3 变量规则 2.3.1 命名规则和命名习惯 2.3.2 声明并初始化变量 ...

    ASP.NET 3.5 开发大全1-5

    1.6 小结 第2章 C# 3.0程序设计基础 2.1 C#程序 2.1.1 C#程序的结构 2.1.2 C# IDE的代码设置 2.2 变量 2.2.1 定义 2.2.2 值类型 2.2.3 引用类型 2.3 变量规则 2.3.1 命名规则和命名习惯 2.3.2 声明并初始化变量 ...

    精通sql结构化查询语句

    23.3.3 删除存在的数据表 23.4 对数据库中表的操作 23.4.1 向表中添加记录 23.4.2 浏览表中记录 23.4.3 修改已有记录 23.4.4 删除指定记录 23.5 可回复留言板的开发(PHP+SQL Server) 23.5.1 数据表的设计 23.5.2 ...

    google改变生活

    10.2.4 添加留言板.237 10.2.5 添加“浮光掠影”相册版块.239 10.2.6 添加“BE WITH YOU”页面242 10.2.7 编辑侧边栏.246 10.3 小结.248 第11章 Google辅助类软件.249 11.1 Google软件精选管理器的使用250 11.2 ...

    Oracle.11g.从入门到精通 (1/2)

    14.4.3 回复留言模块 14.4.4 访问留言人主页 14.4.5 删除留言 14.4.6 修改密码 14.5 本章小结 第15章 新闻发布系统 15.1 系统概述 15.1.1 新闻发布系统的应用背景 15.1.2 新闻发布系统的总体需求 15.1.3 新闻发布...

    Oracle.11g.从入门到精通 (2/2)

    14.4.3 回复留言模块 14.4.4 访问留言人主页 14.4.5 删除留言 14.4.6 修改密码 14.5 本章小结 第15章 新闻发布系统 15.1 系统概述 15.1.1 新闻发布系统的应用背景 15.1.2 新闻发布系统的总体需求 15.1.3 新闻发布...

    Oracle11g从入门到精通

    14.4.3 回复留言模块 14.4.4 访问留言人主页 14.4.5 删除留言 14.4.6 修改密码 14.5 本章小结 第15章 新闻发布系统 15.1 系统概述 15.1.1 新闻发布系统的应用背景 15.1.2 新闻发布系统的总体需求 15.1.3 ...

    Oracle11g从入门到精通2

    14.4.3 回复留言模块 14.4.4 访问留言人主页 14.4.5 删除留言 14.4.6 修改密码 14.5 本章小结 第15章 新闻发布系统 15.1 系统概述 15.1.1 新闻发布系统的应用背景 15.1.2 新闻发布系统的总体需求 ...

Global site tag (gtag.js) - Google Analytics