小妖女 发表于 2015-1-16 22:49:18

ASP.NET网页编程之ASP.NET跨页面传值技能总结

c++是语言,其实C++和java的应用范围根本就不一样的。在java应用的领域内,c++是不合适的。所以微软才搞了C#和Java对抗。asp.net|技能|页面明天TM群里有人问起关于页面传值的办法,又激发了一场会商。看来这个仍是有良多人存眷的,因而我就我团体概念做了些总结,但愿对人人有所匡助。
  1.利用QueryString变量
  QueryString是一种十分复杂的传值体例,他能够将传送的值显现在扫瞄器的地点栏中。假如是传送一个或多个平安性请求不高或是布局复杂的数值时,可使用这个办法。可是关于传送数组或工具的话,就不克不及用这个办法了。上面是一个例子:
  a.aspx的C#代码
privatevoidButton1_Click(objectsender,System.EventArgse)
{
strings_url;
s_url="b.aspx?name="+Label1.Text;
Response.Redirect(s_url);
}
  b.aspx中C#代码
privatevoidPage_Load(objectsender,EventArgse)
{
Label2.Text=Request.QueryString["name"];
}
  2.利用Application工具变量
  Application工具的感化局限是全部全局,也就是说对一切用户都无效。其经常使用的办法用Lock和UnLock。
  a.aspx的C#代码
privatevoidButton1_Click(objectsender,System.EventArgse)
{
Application["name"]=Label1.Text;
Server.Transfer("b.aspx");
}
  b.aspx中C#代码
privatevoidPage_Load(objectsender,EventArgse)
{
stringname;
Application.Lock();
name=Application["name"].ToString();
Application.UnLock();
}
  3.利用Session变量
  想必这个一定是人人利用中最多见的用法了,其操纵与Application相似,感化于用户团体,以是,过量的存储会招致服务器内存资本的耗尽。
  a.aspx的C#代码
privatevoidButton1_Click(objectsender,System.EventArgse)
{
Session["name"]=Label.Text;
}
  b.aspx中C#代码
privatevoidPage_Load(objectsender,EventArgse)
{
stringname;
name=Session["name"].ToString();
}
  4.利用Cookie工具变量
  这个也是人人常利用的办法,与Session一样,其是什对每个用户而言的,可是有个实质的区分,即Cookie是寄存在客户真个,而session是寄存在服务器真个。并且Cookie的利用要共同ASP.NET内置工具Request来利用。
  a.aspx的C#代码
privatevoidButton1_Click(objectsender,System.EventArgse)
{
HttpCookiecookie_name=newHttpCookie("name");
cookie_name.Value=Label1.Text;
Reponse.AppendCookie(cookie_name);
Server.Transfer("b.aspx");
}
  b.aspx中C#代码
privatevoidPage_Load(objectsender,EventArgse)
{
stringname;
name=Request.Cookie["name"].Value.ToString();
}
  5.利用Server.Transfer办法
  这个才能够说是面象工具开辟所利用的办法,其利用Server.Transfer办法把流程从以后页面引诱到另外一个页面中,新的页面利用前一个页面的应对流,以是这个办法是完整面象工具的,简便无效。
  a.aspx的C#代码
publicstringName
{
get{returnLabel1.Text;}
}
privatevoidButton1_Click(objectsender,System.EventArgse)
{
Server.Transfer("b.aspx");
}
  b.aspx中C#代码
privatevoidPage_Load(objectsender,EventArgse)
{
anewWeb;//实例a窗体
newWeb=(source)Context.Handler;
stringname;
name=newWeb.Name;
}
捆绑编译器。用户不需要受制于厂家,自己就能将程序在新平台上编译运行。除了牛B轰轰的linux,估计也没有系统捆绑c/c++的编译器,而且许多新平台都无法支持复杂的c/c++编译器在上面直接运行。

只想知道 发表于 2015-1-20 05:08:10

对于中小项目来说.net技术是完全可以胜任,但为什么现在大型公司或网站都选择php或java呢?就是因为微软不够开放,没有提供从硬件到应用服务器再到业务应用的整套解决方案。

再见西城 发表于 2015-1-25 14:42:51

代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。

爱飞 发表于 2015-2-8 16:05:13

能产生和执行动态、交互式、高效率的站占服务器的应用程序。运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写。

活着的死人 发表于 2015-2-25 20:16:23

ASP.net的速度是ASP不能比拟的。ASP.net是编译语言,所以,当第一次加载的时候,它会把所有的程序进行编译(其中包括worker进程,还有对语法进行编译,形成一个程序集),当程序编译后,执行速度几乎为0。

莫相离 发表于 2015-3-8 02:29:16

现在的ASP.net分为两个版本:1.1和2.0Asp.net1.1用VS2003(visualstudio2003)编程。Asp.net2.0用VS2005(visualstudio2005)编程。现在一般开发用的是VS2003。

简单生活 发表于 2015-3-15 19:49:34

碰到复杂点的问题都不知道能不能解决,现在有点实力的公司都选择自已在开源的基础上做开发。但没听说过有人在IIS上做改进的,windows、sqlserver集群方面的应用也很少见。

深爱那片海 发表于 2015-3-22 03:10:34

同时也感谢博客园给我们这个平台,也感谢博客园的编辑们做成专题引来这么多高人指点。
页: [1]
查看完整版本: ASP.NET网页编程之ASP.NET跨页面传值技能总结