【ASP】response和sever物件實現使用者登入
阿新 • • 發佈:2019-01-14
1.問題提出
設計兩個登入介面:一個register.asp頁面用於輸入賬號,密碼等資訊進行登入。另一個頁面welcome.asp用於顯示登入成功的資訊。利用request的兩個物件response和server兩種頁面重定向方法進行響應。
2.實現過程
register.asp
server:
1 protected void Button1_Click(object sender, EventArgs e) 2 { 3 Application["name"] = TextBox1.Text; 4 Server.Transfer("welcome.aspx"); 5 }
response:
public partial class regist : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { Application["name"] = null; } protected void Button1_Click(object sender, EventArgs e) { Application["name"] = TextBox1.Text; Response.Redirect("welcome.aspx"); } }
登入頁面,welcome.asp
1 public partial class welcome : System.Web.UI.Page 2 { 3 protected void Page_Load(object sender, EventArgs e) 4 { 5 string s = Application["name"].ToString(); 6 Response.Write("歡迎" + s + "登入該頁面。"); 7 } 8 }
結果圖片:
初始頁面
登入頁面
response:
初始頁面:regist.asp
登入介面 welcome.asp
3.區別
從兩次操作的結果來看,server直接是在當前頁面出現了響應的結果值,但是response立即終止當前頁面的執行,跳轉到指定路徑。
server的Transfer 方法把一個 ASP 檔案中建立的所有狀態資訊(所有 application/session 變數以及所有 request 集合中的專案)傳送(傳輸)到另一個 ASP 檔案中。當第二個 ASP 完成任何時,它不會返回到第一個 ASP 頁面。
Transfer 方法是 Response.Redirect 的一個高效的替代方案。當 Server.Transfer 方法在伺服器上向另外的 ASP 頁面傳輸執行時,重定向強制 Web 伺服器處理額外的請求,避免了額外的周折。