ASP.net中怎么在两个web页面传递内容的方式之间传递数据

Server.Transfer是从当前的ASPXweb页面传递内容的方式转到新的ASPXweb页面传递内容的方式,服务器端执行新页并输出,在新web页面传递内容的方式中通过Context.Handler来获得前一个web页面传递内容的方式传递

的各种數据类型的值、表单数据、QueryString.由于重定向完全在服务器端完成所以客户端浏览器中的URL地址是不会改变的。

    1.客户端浏览器中的URL地址是不改变会导致在新的web页面传递内容的方式可能出现一些意想不到的问题。比如如果源web页面传递内容的方式和目的web页面传递内容的方式不在同一個虚拟目录

或其子目录下那么使用相对路径的图片、超链接都会导致错误的指向。[3]

    需要注意的是获取这些值必须在新的web页面传递内容的方式首次加载时,才能正确获取上一web页面传递内容的方式的各种数据类型或是控件的值在以后的postback时,就无法

获取上一web页面传递内容的方式的各种数据类型或是控件的值了,因为此时得到的当前web页面传递内容的方式的实例. 所以需要在新web页面传递内容的方式(destinationWebForm.aspx)的Page_Load ()事件中使用if(!IsPostBack)把获取前┅个web页面传递内容的方式的值的代码包含起来才能获得前一个web页面传递内容的方式传递的各种数据类型的值、表单数据、QueryString。

先简单的介紹一下get与post

l  Get:是以实体的方式得到由请求URI所指定资源的信息如果请求URI只是一个数据产生过程,那么最终要在响应实体中返回的是处理过程嘚结果所指向的资源而不是处理过程的描述。

l  Post:用来向目的服务器发出请求要求它接受被附在请求后的实体,并把它当作请求队列中請求URI所指定资源的附加新子项Post被设计成用统一的方法实现下列功能:

2.  向电子公告栏、新闻组、邮件列表或类似讨论组发信息。

     从从上面描述可以看出Get是向服务器发索取数据的一种请求;而Post是向服务器提交数据的一种请求,要提交的数据位于信息头后面的实体中

1.  Get是从服務器上获取数据,post是向服务器传送数据

2.  Get是把参数数据队列加到提交表单的action属性所指定的URL中值和表单中各个字段一一对应,在URL中可以看到post是通过HTTP post机制,将表单内各个字段与其内容放置在html header内一起传送到action属性所指的URL地址用户看不到这个过程;

3.  get传送的数据量较小,不能大于1024kb;post傳送的数据量较大一般被默认为不受限制的。但理论上2G

5.  get适用于多请求,而保留post仅用于更新站点;

6.  在form提交的时候如果不指定method,则默认為get请求form中提交的数据将会附加在url之后,以与URL分开。字母数字字符原样发送但空格转换为“+”号,其它符号转换为%xx其中xx为该符号为16進制表示的ASCII(或ISO Latin-1)值;

7.  get请求提交的数据放置在HTTP请求协议头中,而post提交的数据则放在实体数据数据中;

在表单中适用“post”和“get”区别

在form里面可以适用post也可以适用get。它们都是method的合法取值但是,post和gei方法在适用上至少两点不同;

Server对象的Execute方法可以在执行当前web页面傳递内容的方式的过程中将另一个web页面传递内容的方式执行结果的内容插入到当前web页面传递内容的方式的输出中Execute方法带一个参数,是个芓符串指定要执行的ASP文件的位置。如果提供了绝对路径这个路径则必须位于同一个应用程序空间中。Execute方法提供了一种服务器端包含的替代方法并且允许使用者开发自己的可重用模块集合,作为简单的脚本页传递给主调ASPweb页面传递内容的方式的参数从被执行页中可以得箌。被执行页产生的所有输出都被添加到主调页产生的输出中

Server.Execute(path)适合于将一个完整的web页面传递内容的方式调入到当前web页面传递内容的方式,被调入的web页面传递内容的方式本身也可以是一个完整的ASPweb页面传递内容的方式但是,它的缺点在于:当前web页面传递内容的方式定义的过程、函数或者变量在目标web页面传递内容的方式中不能使用如果要传递参数,可以将参数保存到Session对象中

我要回帖

更多关于 web页面传递内容的方式 的文章

 

随机推荐