`

我的第一个asp.net分页代码(不用gridview控件,手工分页)

    博客分类:
  • .net
阅读更多

第一次写分页的代码,写得有点糟,请多指点!另外这里还有一个table是发帖用的,点击发帖按钮后可以在网页中显示这个table,不点击时网页中没有显示这个表,我只是随手沾上的。

这是前台的代码

<!--帖子的有关内容-->
<div style="width: 970px; height: auto; text-align: left;">
    <asp:Table ID="tietable" runat="server" Width="100%" BorderWidth="1px" BorderColor="Gray" GridLines="Horizontal">
        <asp:TableRow>
            <asp:TableCell Width="55%" Text="标题"></asp:TableCell>
            <asp:TableCell Width="15%" Text="发帖人/发帖时间"></asp:TableCell>
            <asp:TableCell Width="15%" Text="回复量/浏览量"></asp:TableCell>
            <asp:TableCell Text="最后一次访问时间"></asp:TableCell>
        </asp:TableRow>
    </asp:Table>
</div>
<!--发帖按钮-->
<div style="width: 970px; height: 30px; text-align: left; vertical-align: middle; line-height: 30px;">
    <div style="width: 120px; float: left">
    <asp:ImageButton ID="fatie" runat="server" ImageUrl="image/zhuye_button.gif" OnClick="imagebutton1_click" /></div>
    <!--这里可以添加页数指引-->
    <table cellpadding="0" cellspacing="0" style="float: right;">
        <tr>
            <td style="width: 120px;">
                <asp:Label ID="label5" runat="server" Font-Size="10pt" Text="当前页为【"></asp:Label>
                <asp:Label ID="label7" runat="server" Font-Size="10pt" Text="1"></asp:Label>
                <asp:Label ID="label3" runat="server" Font-Size="10pt" Text="】"></asp:Label>
            </td>
            <td style="width: 40px;">
	<asp:LinkButton ID="linkbutton2" runat="server" Font-Size="10pt" ForeColor="red" OnClick="linkbutton2_click">首页</asp:LinkButton>
            </td>
            <td style="width: 30px;">
                <asp:LinkButton ID="linkbutton3" Width="42px" runat="server" Font-Size="10pt" ForeColor="red" OnClick="linkbutton3_click">上一页</asp:LinkButton>
            </td>
            <td style="width: 48px;">
                <asp:LinkButton ID="linkbutton4" runat="server" Font-Size="10pt" ForeColor="red" Width="48px" OnClick="linkbutton4_click">下一页</asp:LinkButton>
            </td>
            <td style="width: 49px;">
                <asp:LinkButton ID="linkbutton5" runat="server" Font-Size="10pt" ForeColor="red" Width="29px" OnClick="linkbutton5_click">尾页</asp:LinkButton>
            </td>
            <td style="width: 120px;" align="center">
<asp:Label ID="label1" runat="server" Text="总页数【"Font-Size="10pt"Width="52px"></asp:Label>
                <asp:Label ID="label2" runat="server" Font-Size="10pt"></asp:Label>
                <asp:Label ID="label4" runat="server" Font-Size="10pt" Text="】"></asp:Label>
            </td>
        </tr>
    </table>
</div>
<!--隐藏的发帖table-->
<asp:Table ID="fatiebgd" runat="server" Width="961px" Height="200px" GridLines="Both" HorizontalAlign="center" BackColor="green" Visible="false" Style="margin: 0px">
    <asp:TableRow Width="1000px">
        <asp:TableCell>
            <asp:Table ID="fatietable" runat="server" Width="961px" BorderWidth="1px" Height="200px" GridLines="Both" BorderColor="LightYellow" BorderStyle="Solid" BackColor="white">
                <asp:TableRow>
                    <asp:TableCell ID="TableCell1" runat="server" Width="15%" Height="20px" Text="标题:"></asp:TableCell>
                    <asp:TableCell ID="TableCell2" runat="server" HorizontalAlign="Left">
             <asp:TextBox runat="server" ID="headline" Width="85%"></asp:TextBox></asp:TableCell>
                </asp:TableRow>
                <asp:TableRow>
                    <asp:TableCell ID="TableCell3" runat="server" Width="15%" Height="160px" Text="内容:" VerticalAlign="Middle"></asp:TableCell>
                    <asp:TableCell ID="TableCell4" runat="server">
                   <asp:TextBox Width="99%" runat="server" ID="postscontents" TextMode="MultiLine" Rows="9"></asp:TextBox></asp:TableCell>
                </asp:TableRow>
                <asp:TableRow>
                    <asp:TableCell ColumnSpan="2" HorizontalAlign="center">
                        <asp:Button ID="OK" Text="提交" Width="80px" runat="server" OnClick="ok_click" />
            <asp:Button ID="kong" runat="server" Width="80px" Text="重置" OnClick="kong_click" />
                    </asp:TableCell>
                </asp:TableRow>
            </asp:Table>
        </asp:TableCell></asp:TableRow>
</asp:Table>

 这是后台的代码:

 protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            dbBind();
        }
    }

    protected void dbBind()
    {
        SqlConnection conn = new SqlConnection(CommonMethods.connstring);
        SqlCommand cmd = new SqlCommand("select 发帖时间 from title", conn);
        SqlDataReader rd = null;
        conn.Open();
        rd = cmd.ExecuteReader();
        int rowdata = 0;
        while (rd.Read())
        {
            rowdata++;
        }
        conn.Close();
        int allpage = 0;
        if (rowdata / 3 == 0)
        {
            allpage = rowdata / 3;
        }
        else
        {
            allpage = rowdata / 3 + 1;
        }
        this.label2.Text = allpage.ToString();
        int curpage = Convert.ToInt32(this.label7.Text);
        this.linkbutton2.Enabled = true;
        this.linkbutton3.Enabled = true;
        this.linkbutton4.Enabled = true;
        this.linkbutton5.Enabled = true;
        if (curpage == 1)//如果等于1则上一页和首页禁用
        {
            this.linkbutton2.Enabled = false;
            this.linkbutton3.Enabled = false;
        }
        if (curpage == Convert.ToInt32(this.label2.Text))//如果等于尾页则下一页和尾页链接禁用
        {
            this.linkbutton4.Enabled = false;
            this.linkbutton5.Enabled = false;
        }
 string sql = "select  top 3 标题,用户名,发帖时间,回复量,浏览量,最后一次访问时间 from title where 最后一次访问时间 NOT IN (select top " + 3 * (curpage - 1) + " 最后一次访问时间 from title order by 最后一次访问时间 desc) order by 最后一次访问时间 desc";
        SqlCommand command = new SqlCommand(sql, conn);
        conn.Open();
        rd = command.ExecuteReader();
        for (int i = 1; i < tietable.Rows.Count; i++)
        {
            tietable.Rows[i].Cells.Clear();
        }
        while (rd.Read())
        {
            TableRow row = new TableRow();
            TableCell c1 = new TableCell();
            TableCell c2 = new TableCell();
            TableCell c3 = new TableCell();
            TableCell c4 = new TableCell();
            c1.Text = rd["标题"].ToString();
            c2.Text = rd["用户名"].ToString() + "<br/>" + rd["发帖时间"].ToString();
            c3.Text = rd["回复量"].ToString() + "/" + rd["浏览量"].ToString();
            c4.Text = rd["最后一次访问时间"].ToString();
            row.Cells.Add(c1);
            row.Cells.Add(c2);
            row.Cells.Add(c3);
            row.Cells.Add(c4);
            tietable.Rows.Add(row);
        }
    }

    protected void linkbutton2_click(object sender, EventArgs e)
    {
        this.label7.Text = "1";
        this.dbBind();
    }

    protected void linkbutton3_click(object sender, EventArgs e)
    {
        this.label7.Text = Convert.ToString(Convert.ToUInt32(this.label7.Text) - 1);
        this.dbBind();
    }

    protected void linkbutton4_click(object sender, EventArgs e)
    {
        this.label7.Text = Convert.ToString(Convert.ToInt32(this.label7.Text) + 1);
        this.dbBind();
    }

    protected void linkbutton5_click(object sender, EventArgs e)
    {
        this.label7.Text = this.label2.Text;
        this.dbBind();
    }
    protected void imagebutton1_click(object sender, EventArgs e)
    {
        fatiebgd.Visible = true;//让发帖的表格显示在网页中
    }
    protected void ok_click(object sender, EventArgs e)
    {
        if (headline.Text==null||headline.Text==""||postscontents.Text==null||postscontents.Text=="")
        {
            Response.Write("<script>alert('标题和内容任一项都不能为空!');</script>");
        }
    }
    protected void kong_click(object sender, EventArgs e)
    {
        headline.Text = "";
        postscontents.Text = "";
    }

 

 

0
1
分享到:
评论

相关推荐

    ASP.NET初级_GridView控件和FormView控件

    这是用vs建的一个例子,关于GridView控件和FormView控件的。

    c#语言asp.net 不用分页控件对Gridview进行分页

    c#语言asp.net 不用分页控件对Gridview进行分页。vs2005工具编写的例子。

    .NET 通用分页控件

    分页是Web应用程序中最常用到的功能之一,在ASP.NET中,虽然自带了一个可以分页的DataGrid(asp.net 1.1)和GridView(asp.net 2.0)控件,但其分页功能并不尽如人意,如可定制性差、无法通过Url实现分页功能等,...

    Asp.net分页控件AspNetPager7.2

    分页是Web应用程序中最常用到的功能之一,在ASP.NET中,虽然自带了一个可以分页的DataGrid(asp.net 1.1)和GridView(asp.net 2.0)控件,但其分页功能并不尽如人意,如可定制性差、无法通过Url实现分页功能等,...

    asp.net中GridView控件的各种操作方法,使用大全,附加数据库

    asp.net中GridView控件的各种操作方法,使用大全,附加数据库。包含:GridView导入导出,多层嵌套,表头表尾,分页排序,结合控件,设置属性,增除删改,主键索引...物超所值,亲情放送!~

    ASP.NET分页控件示例源码

    源码使用AspNetPager.dll做分页控件,这个控件据说目前是网上使用最多的。支持gridview和reapter控件。

    GridView(For Asp.net C# vs2005)控件

    最近在使用ASP.net 2.0的GridView 控件时,发现排序与分页功能Microsoft实现的都很简单,比如排序,在点击列名的时候来触发整页的PostBack,然后排序,但是在列头上没有一个显示升序降序的图标,这会让最终用户使用...

    ASP.NET GridView自定义分页支持拖拽控件合集

    基于ASP.NET的自定义分页显示及可拖动改变列宽代码 支持通过Url进行分页,支持Url分页方式下的Url重写(UrlRewrite)功能,支持使用用户自定义图片做为导航元素,功能强大灵活、使用方便、可定制性强,增强的 Visual...

    asp.net中的GridView自定义分页及排序代码

    asp.net中的GridView自定义分页及排序代码,对GridView控件进行扩展,实现效果不错的自定义分页及排序代码,供大家学习参考!

    ASP.NET GRIDVIEW 分页控件

    自己写的GridView分页控件,简单绑定就可以使用

    Asp.net 分页控件(好用)

    自己写的分页控件,返回DataTable,资源里有例子程序,可以绑定DataList,GridView,Repeater等。 动态库为gfPager,在项目中加载Dll后,就可以应用了

    能用漂亮分页控件及Demo源码

    AspNetPager支持使用主题(Theme)与皮肤(Skin)统一控件的整体样式,配合asp.net 2.0中的DataSource控件,AspNetPager只需要编写短短几行代码,甚至无需编写任何代码,只需设置几个属性就可以实现分页功能。...

    ASP.NET自定义分页控件(最终版兼容所有浏览器有源码)

    和AspNetPager一样的风格,在他的风格上改变了一点,兼容所有浏览器,用法和例子都在里面有,包括了DLL和UserControl两个版本,含源码!欢迎大家一使用!如果觉得样式不喜欢的,可以自己在源码里修改!

    C# asp.net /分页控件

    分页控件,拖曳就可以用了,,,需在调用的页面绑定事件: void Page_LoadComplete(object sender,Evergs e){ PaginationControl1.DataBindDdlSelectPageIndex(); BindData_GVUser(); } GridView: /// /// ...

    ASP.Net皮肤换肤控件

    分页是Web应用程序中最常用到的功能之一,在ASP.NET中,虽然自带了一个可以分页的DataGrid(asp.net 1.1)和GridView(asp.net 2.0)控件,但其分页功能并不尽如人意,如可定制性差、无法通过Url实现分页功能等,...

    ASP.NET2.0中编程实现GridView与FormView的主-详细视图

    GridView 控件是 ASP.NET 1.X 中 DataGrid 控件的替代,提供了一个表格视图,显示多条记录的主要信息。它可以批量显示数据源,每行数据代表数据源的一条记录。然而,对于字段较多的数据源,不宜单独使用 GridView ...

    一个开放源码的Asp.net分页控件

    一个开放源码的Asp.net分页控件,采取Url进行链接分页,支持页面跳转,利用DataGrid进行演示,当然也可以利用GridView等,MyPaper.cs为控件源码 该分页控件调用也非常简单,具体请参照Demo文件 Demo.aspx为演示页

    ASP.Net手写分页

    ASP.net中分页的实现方式之一,使用SQL语句实现分页。另外本资源内含有图片上传的方法及GridView控件的使用。

    ASP.NET 2.0中GridView无限层复杂表头的实现

    在我们的示例代码中,我们使用C#语言创建了一个GridView控件,并绑定了一个数据源。数据源是一个DataTable对象,包含学生信息,例如学生班级、学生姓名、语文、数学、英语和计算机等信息。我们使用Random类生成随机...

Global site tag (gtag.js) - Google Analytics