2009年7月30日 星期四

ASP.NET傳值的3個方法 (Response.Redirect、Server.Transfer、Server.Execute)

ASP.NET傳值的3個方法 (Response.Redirect、Server.Transfer、Server.Execute)

◆Response.Redirect
 是直接下一個HttpRequest出去,它並沒有將來源Form的相關物件資料也一併傳出去。

 伺服端是使用QueryString物件集合取出資料,其語法:
 Request("FieldName")
 Request.QueryString("FieldName")

◆Server.Transfer
 將目前表單Form中的資料送到我們指定的表單,所以,可以夾帶的訊息也比較多~
 Server.Transfer,只能傳送在我們Server上的所屬網頁。
 (Server.Transfer方法的轉向操作完全在Web伺服器完成)

 在伺服端使用Form物件集合取出資料,其語法:
 Request(("FieldName")
 Request.Form("FieldName")

◆Server.Execute
 它和Server.Transfer功能很相像。
 主要的差別在於,Server.Execute在轉到xx.aspx執行完成後,還會返回到原本的頁面繼續處理。
 (Server.Execute方法像主程式呼叫副程式,當轉向執行完成後,還會回到呼叫的程式)
----------------------------------------------------------------------------------------
Response.Redirect 與 Server.Transfer 差別 (因為Server.Execute ^^!!偶很少使用,暫不比較)

目地對象:Response.Redirect 可以切換到任何的網頁。
     Server.Transfer 只能切換到同目錄或子目錄的網頁。

安全性 :Response.Redirect後,url會變成你所指向的新網頁。
     Server.Transfer 後,url不變,隱藏了新網頁的url及附帶的參數值(具有保密功能)。

傳遞容量:指網址後面所附帶的參數,
     Response.Redirect能傳遞的大小,以2KB為限。
     所以超過2KB時...請使用Server.Transfer吧。

速度  :Response.Redriect是最快的,也是最直接滴!

轉 http://blog.xuite.net/sunnysoap/r/15252411

沒有留言:

張貼留言