|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
ActiveServerPage技术为应用开发商提供了基于脚本的直观、快速、高效的应用开发手段,极大地提高了开发的效果。在讨论ASP的安全性问题之前,让我们来看看ASP是怎么工作的。datagrid|分页默许分页形式:
选中“同意分页”;页巨细;页导航设置,能够是高低体例,也能够用页码体例
格局里能够设置“页导航”按钮的对起体例;
privatevoiddatashow()//绑定命据
{
stringsql="server=127.0.0.1;database=ltp;userid=sa;password=";
SqlConnectionmycon=newSqlConnection(sql);
stringselsql="select*fromdata";
SqlDataAdapterda=newSqlDataAdapter(selsql,mycon);
DataSetds=newDataSet();
da.Fill(ds,"data");
this.DataGrid1.DataSource=ds.Tables["data"];
this.DataGrid1.DataBind();
}
呼应事务PageIndexChanged()
this.DataGrid1.CurrentPageIndex=e.NewPageIndex;
datashow();
自界说导航控件的默许分页形式
以后页:this.Label1.Text=(this.DataGrid1.CurrentPageIndex+1).ToString();
由于CurrentPageIndex从0入手下手的,以是要+1
总页数:this.Label2.Text=this.DataGrid1.PageCount.ToString();
//第一页
this.DataGrid1.CurrentPageIndex=0;
//上一页
if(this.DataGrid1.CurrentPageIndex>0)
{
this.DataGrid1.CurrentPageIndex-=1;
this.datashow();
}
//下一页
if(this.DataGrid1.CurrentPageIndex<(this.DataGrid1.PageCount-1))
{
this.DataGrid1.CurrentPageIndex+=1;
this.datashow();
}
//最初一页
this.DataGrid1.CurrentPageIndex=this.DataGrid1.PageCount-1
最初再datashow();
自界说数据分页--十分主要!(进步功能效力)
每次this.datashow();是提取全体数据,反而下降了效力。
准确的办法:
1,选中“同意分页”;“同意自界说分页”;页巨细。
2,增加导航按钮,设置CommandName属性,previous,next
3,代码:
//纪录每页的入手下手索引
intstartindex;
privatevoidPage_Load(objectsender,System.EventArgse)
{
//自界说按钮事务
this.btnprevious.Click+=newSystem.EventHandler(this.NavigateToPage);
this.btnnext.Click+=newSystem.EventHandler(this.NavigateToPage);
//orOnCommand="NavigateToPage"
if(!IsPostBack)
{
startindex=0;
//失掉数据源的纪录数,并指派给DataGrid1
stringconstr="server=127.0.0.1;database=ltp;userid=sa;password=";
SqlConnectionmycon=newSqlConnection(constr);
mycon.Open();
stringsql="select总数=count(*)fromdata";
SqlCommandcom=newSqlCommand(sql,mycon);
SqlDataReaderdr=com.ExecuteReader(CommandBehavior.SingleRow);
if(dr.Read())
this.DataGrid1.VirtualItemCount=(int)dr["总数"];
dr.Close();
mycon.Close();
//
this.bindGrid(startindex,"previous");
}
}
//自界说按钮事务
privatevoidNavigateToPage(objectsender,System.EventArgse)
{
stringpageinfo=((Button)sender).CommandName;
switch(pageinfo)
{
case"previous":
if(this.DataGrid1.CurrentPageIndex>0)
{
this.DataGrid1.CurrentPageIndex-=1;
}
break;
case"next":
if(this.DataGrid1.CurrentPageIndex<(this.DataGrid1.PageCount-1))
{
this.DataGrid1.CurrentPageIndex+=1;
}
break;
}
//失掉入手下手的索引
startindex=this.DataGrid1.CurrentPageIndex*this.DataGrid1.PageSize;
//从头绑定
this.bindGrid(startindex,pageinfo);
}
//从数据源提取所需的数据纪录--办法2(有int序号的表)
privatevoidbindGrid2(intstartindex,stringpageinfo)
{
stringconstr="server=127.0.0.1;database=ltp;userid=sa;password=";
SqlConnectionmycon=newSqlConnection(constr);
mycon.Open();
stringsql="selecttop5*fromdatawhere序号>="+startindex+"orderby序号";
SqlDataAdapterda=newSqlDataAdapter(sql,mycon);
DataSetds=newDataSet();
da.Fill(ds,"data");
this.DataGrid1.DataSource=ds.Tables["data"];
this.DataGrid1.DataBind();
mycon.Close();
}
//从数据源提取所需的数据纪录--办法1(按某字符串列排序的)
privatevoidbindGrid(intstartindex,stringpageinfo)
{
stringconstr="server=127.0.0.1;database=ltp;userid=sa;password=";
SqlConnectionmycon=newSqlConnection(constr);
mycon.Open();
SqlCommandcom=newSqlCommand();
switch(pageinfo)
{
case"previous":
</p>ASP最大的缺点在于网络的安全性和可靠性,企业将经营数据放在开放的平台上,最大的担忧就是如何保证这些数据不被其他人破坏。 |
|