ASP.NET教程之ASP.Net中DataGrid翻页后持续坚持(以后...
完全不一样的。.net其实我也说不太清,.net可以把他理解为跟J2EE相对的工具。c++主要做系统相关的开发你要学.net的话就应该学C#。(其实微软在.NET平台上也考虑了给C++留一个地位。asp.net|datagrid|翻页|排序|显现要想完成翻页后持续排序,完成如许的效果:好比共15条记录,每页显现10条
则排序时:第一页将前10笔记录排序,翻第二页时后五条再独自排序.
要注重以下几点:
1.假如数据良多,最好不要把数据集放到缓存中(viewstate),影响功能
2.ViewState中寄存前次是哪一个e.expression而且寄存此e.expression是升序仍是降序
示比方下:
1.现有的排序事务是如许写的,这个是点击下面排序题目时用:
privatevoidgrdProjTrace_SortCommand(objectsource,DataGridSortCommandEventArgse)
{
this.grdProjTrace.CurrentPageIndex=0;
DataViewdv=失掉数据代码;
stringstrSort="";
stringstrOrder="";//排序体例。0,降序,1升序
if(ViewState["SortExpresstion"]!=null)
{
strSort=ViewState["SortExpresstion"].ToString();
strSort=strSort.Substring(0,strSort.Length-1);
strOrder=ViewState["SortExpresstion"].ToString();
strOrder=strOrder.Substring(strOrder.Length-1);
}
if(e.SortExpression=="CustomerName")
{
if(strSort!="CustomerName")
{
this.ViewState["SortExpresstion"]=ustomerName0";
dv.Sort="CustomerNameDESC";
}
else
{
if(strOrder=="0")
{
this.ViewState["SortExpresstion"]="CustomerName1";
dv.Sort="CustomerNameASC";
}
else
{
this.ViewState["SortExpresstion"]="CustomerName0";
dv.Sort="CustomerNameDESC";
}
}
}
if(e.SortExpression=="fullName")
{
if(strSort!="fullName")
{
this.ViewState["SortExpresstion"]="fullName0";
dv.Sort="fullNameDESC";
}
else
{
if(strOrder=="0")
{
this.ViewState["SortExpresstion"]="fullName1";
dv.Sort="fullNameASC";
}
else
{
this.ViewState["SortExpresstion"]="fullName0";
dv.Sort="fullNameDESC";
}
}
}
this.grdProjTrace.DataSource=dv;
this.grdProjTrace.DataBind();
}
2.上面这个办法是本人写的,翻页事务中挪用。
privatevoidChangePageDataBind()
{
DataViewdv=失掉数据代码;
stringstrSort="";
stringstrOrder="";//排序体例。0,降序,1升序
if(ViewState["SortExpresstion"]!=null)
{
strSort=ViewState["SortExpresstion"].ToString();
strSort=strSort.Substring(0,strSort.Length-1);
strOrder=ViewState["SortExpresstion"].ToString();
strOrder=strOrder.Substring(strOrder.Length-1);
}
if(this.ViewState["SortExpresstion"]!=null)
{
if(strSort=="CustomerName")
{
if(strOrder=="1")
{
this.ViewState["SortExpresstion"]="CustomerName1";
dv.Sort="CustomerNameASC";
}
else
{
this.ViewState["SortExpresstion"]="CustomerName0";
dv.Sort="CustomerNameDESC";
}
}
}
if(this.ViewState["SortExpresstion"]!=null)
{
if(strSort=="fullName")
{
if(strOrder=="1")
{
this.ViewState["SortExpresstion"]="fullName1";
dv.Sort="fullNameASC";
}
else
{
this.ViewState["SortExpresstion"]="fullName0";
dv.Sort="fullNameDESC";
}
}
}
this.grdProjTrace.DataSource=dv;
this.grdProjTrace.DataBind();
}
下面两办法只需修正要排序的字段名,就能够间接挪用了.
1办法很复杂利用,这里就不说了.
2办法是如许用的:
privatevoidgrdProjTrace_PageIndexChanged(objectsource,DataGridPageChangedEventArgse)
{
try
{
try
{
this.grdProjTrace.CurrentPageIndex=e.NewPageIndex;
}
catch
{
this.grdProjTrace.CurrentPageIndex=0;
}
this.ChangePageDataBind();
}
catch(System.ExceptionerrWS)
{
//非常
}
}
感谢浏览!
我见过java运行在手机上,包括很廉价的山寨手机,但是却暂时没发现.net在手机上有什么作为。wp7可能是个转机,但是按照《Java的跨平台就是一句谎言。那.net的跨平台也当之无愧是一句谎言。 Servlet的形式和前面讲的CGI差不多,它是HTML代码和后台程序分开的。它们的启动原理也差不多,都是服务器接到客户端的请求后,进行应答。不同的是,CGI对每个客户请求都打开一个进程(Process)。 主流网站开发语言之JSP:JSP和Servlet要放在一起讲,是因为它们都是Sun公司的J2EE(Java2platformEnterpriseEdition)应用体系中的一部分。 大哥拜托,Java在95年就出来了,微软垄断个妹啊,服务器市场微软完全是后后来者,当年都是Unix的市场,现在被WindowsServer和Linux抢下大片,包括数据库也一样。 当然我们在选择Asp.net主机是,除了要考虑服务提供商在版本是否是实时更新以外,机房的环境和配置也是非常重要的,通常选择骨干网的机房,在速度和稳定性上会非常有保证。 使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行,用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。 ASP.NET:ASP.net是Microsoft.net的一部分,作为战略产品,不仅仅是ActiveServerPage(ASP)的下一个版本;它还提供了一个统一的Web开发模型,其中包括开发人员生成企业级Web应用程序所需的各种服务。ASP.NET的语法在很大程度上与ASP兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。 代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。 PHP的源代码完全公开,在OpenSource意识抬头的今天,它更是这方面的中流砥柱。不断地有新的函数库加入,以及不停地更新,使得PHP无论在UNIX或是Win32的平台上都可以有更多新的功能。它提供丰富的函数,使得在程式设计方面有着更好的资源。目前PHP的最新版本为4.1.1,它可以在Win32以及UNIX/Linux等几乎所有的平台上良好工作。PHP在4.0版后使用了全新的Zend引擎,其在最佳化之后的效率,比较传统CGI或者ASP等技术有了更好的表现。
页:
[1]