ASP.NET编程:asp.net WebForm页面间传值办法
竟发现没有太大的帮助。总觉得要用起来,感觉到不了位。因为公司机器的原因,一直没有安装vs.net(也从来没有用过)。以前做asp的时候一直用DW(感觉其代码联想功能不错),可现在到了asp.net却不习惯了。asp.net|web|页面 ASP.NETWEBFORMS给开辟者供应了极好的事务驱动开辟形式。但是这类复杂的使用程序开辟形式却给我们带来了一些小成绩,举个例子,在传统的ASP使用程序中,你可以经由过程POST办法很简单的把一个值或多个值从一个页面传送到另外一个页面(request()/request.form()/request.querystring()),用一样的办法在ASP.NET中完成有点贫苦。在这里,经由过程其他体例来办理这类情况。ASP.NET为我们供应了三种体例,一种是能够经由过程用QueryString来传送响应的值,再一种是经由过程session变量来传送响应的值,另有就是经由过程Server.Transfer办法来完成。1、利用Querystring
Querystring是一种十分复杂的传值体例,其弱点就是会把要传送的值显现在扫瞄器的地点栏中,而且在此办法中不克不及够传送工具。假如你想传送一个平安性不是那末太主要大概是一个复杂的数值时,用此办法最好不外了。上面经由过程一个小例子来完成传值事情,步骤以下:
1、创立一个webform
2、在新建的webform中安排一个button1,在安排两个TextBox1,TextBox2
3、为button按钮创立click事务
代码以下:
privatevoidbutton_click(objectsender,System.EventArgse)
{
stringurl;
url="webform2.aspx?name="+TextBox1.Text+"&Email="+TextBox2.Text;
Response.Redirect(url);
}
4、新建一个方针页面定名为webform2
5、在webform2中安排两个Label1,Label2
在webform2的Page_Load中增加以下代码:
privatevoidPage_Load(objectsender,System.EventArgse)
{
Label1.Text=Request.QueryString["name"];
Label2.Text=Request.QueryString["Email"];
}
运转,便可看到传送后的了局了。
2、利用Session变量
利用Session变量传值是一种最多见的体例了,其中体例不但能够把值传送到下一个页面,还能够交织传送到多个页面,直至把Session变量的值removed后,变量才会消散。举个例子看看:
1、创立一个webform
2、在新建的webform中安排一个button1,在安排两个TextBox1,TextBox2
3、为button按钮创立click事务
代码以下:
privatevoidbutton_click(objectsender,System.EventArgse)
{
Session["Name"]=TextBox1.Text;
Session["Email"]=TextBox2.Text;
Response.Redirect("webform2.aspx");
}
4、新建一个方针页面定名为webform2
5、在webform2中安排两个Label1,Label2
在webform2的Page_Load中增加以下代码:
privatevoidPage_Load(objectsender,System.EventArgse)
{
Label1.Text=Session["Name"].ToString();
Label2.Text=Session["Email"].ToString();
Session.Remove("Name");
Session.Remove("Email");
}
运转,便可看到传送后的了局了。
3、利用Server.Transfer
固然这类办法有点庞大,但也不掉为一种在页面传值的体例。
举个例子看看:
1、创立一个webform
2、在新建的webform中安排一个button1,在安排两个TextBox1,TextBox2
3、为button按钮创立click事务
代码以下:
privatevoid(objectsender,System.EventArgse)
{
Server.Transfer("webform2.aspx");
}
4、创立历程来前往TextBox1,TextBox2控件的值代码以下:
publicstringName
{
get{returnTextBox1.Text;}
}
publicstringEmail
{
get{returnTextBox2.Text;}
}
5、新建一个方针页面定名为webform2
6、在webform2中安排两个Label1,Label2
在webform2的Page_Load中增加以下代码:
privatevoidPage_load(objectsender,System.EventArgse)
{
//创立webform的实例
webform1wf1;
//取得实例化的句柄
wf1=(webform1)Context.Handler;
Label1.Text=wf1.Name;
Label2.Text=wf1.Email;
}
罕见的就是这三种办法。
听03很多师兄说主讲老师杭城方讲课很差就连旁听也没有去了) ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码。 CGI程序在运行的时候,首先是客户向服务器上的CGI程序发送一个请求,服务器接收到客户的请求后,就会打开一个新的Process(进程)来执行CGI程序,处理客户的请求。CGI程序最后将执行的结果(HTML页面代码)传回给客户。 ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp)。 CGI程序在运行的时候,首先是客户向服务器上的CGI程序发送一个请求,服务器接收到客户的请求后,就会打开一个新的Process(进程)来执行CGI程序,处理客户的请求。CGI程序最后将执行的结果(HTML页面代码)传回给客户。 ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp)。 ASP.NET:ASP.net是Microsoft.net的一部分,作为战略产品,不仅仅是ActiveServerPage(ASP)的下一个版本;它还提供了一个统一的Web开发模型,其中包括开发人员生成企业级Web应用程序所需的各种服务。ASP.NET的语法在很大程度上与ASP兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。 大哥拜托,Java在95年就出来了,微软垄断个妹啊,服务器市场微软完全是后后来者,当年都是Unix的市场,现在被WindowsServer和Linux抢下大片,包括数据库也一样。 通过这次激烈的讨论,我从大家身上学到了太多,开阔了眼界,不管是支持我的还是骂我的,都感谢你们。 ASP.net1.1和2.0在程序上的语法也有很大不同,现在2.0属于新出来的,不知道半年后会不会有3.0(说笑一下)。Windows2003系统自动支持ASP和ASP.net环境,不用安装任何程序。Asp.net属于编译语言。ASP的最大不同(ASP属于解释语言)。
页:
[1]