【ASP】response和sever对象实现用户登录
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 服务器处理额外的请求,避免了额外的周折。