ASP.NET分页显示技术

本文分享了一种自定义分页显示的实现方法,通过前后端交互完成数据的分页加载,适用于ASP.NET应用程序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近一直在忙着有关计算机中心的网站。中间遇到了一个小问题就是分页显示的问题。网上也有不少相关的技术与控件,但是我不想那么麻烦去看那些代码。所以就自己写了一些。希望大家能多多指导一些。

我从数据库读取时,直接读到相应的数据。只取前多少条。中间需要前台js与后台cs的交互。网上有好多关于这方面的介绍。

下面是我的代码:

前台:<divid="divRight">

                <divid="divInformType">

                 <inputid="hiddenPrem" type="hidden"  runat="server"/>

                 <inputid="hiddenPage" type="hidden"  runat="server"value="10"/>

                 <asp:ButtonID="btnPrem" runat="server" Text="Button"Height="0" Width="0"

       onclick="btnPrem_Click" />

                    <asp:ButtonID="btnPrem1" runat="server" Text="Button"Height="0" Width="0"

       onclick="btnPrem1_Click" />

       <asp:Button ID="btnPrem2" runat="server"Text="Button" Height="0" Width="0"

       onclick="btnPrem2_Click" />

               </div><!--divInformType-->

                <div id="divInformContent"></div><!--divInformContent-->

            </div><!--"divRight"-->

             <divid="divPage"></div>

Js代码:

<scripttype="text/javascript" language="javascript">

function showInformContent()

{

   var str="<%=showContent()%>";

   vardivInformContent=document.getElementById("divInformContent");

   divInformContent.innerHTML=str;

   var strPage="<%=showBottomPage()%>";

   var divPage=document.getElementById("divPage");

   divPage.innerHTML=strPage;

}

function showView(ID)

{

   

   document.getElementById("hiddenPrem").value=ID;

   document.getElementById("btnPrem").click();  

}

function showInformList(type)

{

   switch(type)

   {

   case1:document.getElementById("hiddenPage").value=10;document.getElementById("hiddenPrem").value="中心动态";document.getElementById("btnPrem1").click();break;

   case2:document.getElementById("hiddenPage").value=10;document.getElementById("hiddenPrem").value="教师公告";document.getElementById("btnPrem1").click();break;

   case 3:document.getElementById("hiddenPage").value=10;document.getElementById("hiddenPrem").value="学生公告";document.getElementById("btnPrem1").click();break;

 

   }

   showInformContent();

}

function showPage(i)

{

document.getElementById("hiddenPage").value=i*10;

document.getElementById("btnPrem2").click()

showInformContent();

}

</script>

Cs 代码:

string strInformType = "";

       string strSelect = "";

       classConnection conn = new classConnection();

       int intPage = 10;

       protected void Page_Load(object sender, EventArgs e)

       {

            string strDate =DateTime.Now.Year.ToString() + "年"+ DateTime.Now.Month.ToString() + "月" +DateTime.Now.Day.ToString() + "日" +"  " +DateTime.Now.DayOfWeek.ToString();

           labWeatherAndTime.Text =strDate;

            labVisit.Text = "您是本站第" + Application["AllGuests"] + "位访客!";

            strInformType =Request.QueryString["InformType"];

           ScriptManager.RegisterStartupScript(Page, Page.GetType(),"js", "showInformContent()", true);

           

       }

       public string showContent()

       {

           

            strSelect = "selectInformId,InformTitle,InformTime from Inform where InformType='" +strInformType + "' and InformIsDel='否'";

           DataTable dt =conn.connecteDB(strSelect);

            string str ="<ul>";

            int i = 1;

            foreach (DataRow row in dt.Rows)

            {

                if(i<=intPage&&i>intPage-10)

                {

                    string[] strTimeArray =row[2].ToString().Split(' ');

                    string strTime =strTimeArray[0].Replace('/', '-');

                    str += "<lionclick='showView(" + row[0] + ")'><div id='div'><divid='left'><a href='#'>" + row[1] +"</a></div><div id='right'>" + strTime +"</div><hr></div></li>";

                }

                i++;

            }

            str += "</ul>";

           

            return str;

       }

       public string showBottomPage()

       {

            string strPage = "<tablewidth='700px'><tr>";

            strSelect = "select count(*)from Inform where InformType='" + strInformType + "' andInformIsDel='否'";

            DataTable dt =conn.connecteDB(strSelect);

            int strCount = 0;

            foreach (DataRow row in dt.Rows)

            {

                strCount =int.Parse(row[0].ToString());

            }

            strPage += "<tdwidth='100px'>当前所在:" +(int.Parse(hiddenPage.Value)) / 10 + "</td><td width='100px'>总页数:" + ((strCount / 10) + 1) + "&nbsp;</td>";

 

            int i = 0;

            strPage += "";

            while (i * 10 < strCount)

            {

                i++;

                strPage += "<tdonclick='showPage("+i+")' width='40px'><a href='#'>" +i + "</a> &nbsp;&nbsp;&nbsp;&nbsp;</td>";

            }

            strPage +="<td></td></tr></table>";

            return strPage;

       }

       protected void btnPrem_Click(object sender, EventArgs e)

       {

           Response.Redirect("webInform.aspx?InformId=" +hiddenPrem.Value);

       }

 

       protected void btnPrem1_Click(object sender, EventArgs e)

       {

            strInformType = hiddenPrem.Value;

       }

 

       protected void btnPrem2_Click(object sender, EventArgs e)

       {

           intPage =int.Parse(hiddenPage.Value);

       }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值