第一種方法:通過URL鏈接地址傳遞
send.aspx:
protected void Button1_Click( sender, EventArgs e) { Request.Redirect("Default2.aspx?username=honge"); }receive.aspx:
string username = Request.QueryString["username"];
第二種方法:通過post方式
receive.aspx:
string username = Ruquest.Form["receive"];
第三種方法:通過session方式
send.aspx:
protected void Button1_Click( sender, EventArgs e) { Session["username"] = "honge"; Request.Redirect("Default2.aspx"); }receive.aspx:
string username = Session["username"];
第四種方法:通過Application方式
send.aspx:
protected void Button1_Click( sender, EventArgs e) { Application["username"] = "honge"; Request.Redirect("Default2.aspx"); }receive.aspx:
string username = Application["username"];
第五種方法:通過Server.Transfer方式
send.aspx:
public string Name { get { return "honge"; } } protected void Button1_Click( sender, EventArgs e) { Server.Transfer("Default2.aspx"); }receive.aspx:
send d = Context.Handler as send ; if (d != null) { Response.Write(d.Name); }如果在asp.net 2.0中還可以這樣用:通過PreviousPage方式
PreviousPage d = Context.Handler as PreviousPage ; if (d != null) { Response.Write(d.Name); }也可以這樣用:
send.aspx:receive.aspx:string name = PreviousPage.Name;
如果你的頁面中用到了MasterPage的話,Server.Transfer傳遞的PreviousPage就無效了,不知道這是什么原因。所以在用到MasterPage的話,最好用Session或是Context.Items["username"]來實現。
使用QueryString
使用QuerySting在頁面間傳遞值已經是一種很老的機制了,這種方法的主要優點是實現起來非常簡單,然而它的缺點是傳遞的值是會顯示在瀏覽器的地址欄上的(不安全),同時又不能傳遞對象,但是在傳遞的值少而安全性要求不高的情況下,這個方法還是一個不錯的方案。使用這種方法的步驟如下:
1、使用控件創建web表單(form)
2、創建可以返回表單的按鈕和鏈接按鈕
3、在按鈕或鏈接按鈕的單擊事件里創建一個保存URL的字符變量
4、在保存的URL里添加QueryString參數
5、使用Response.Redirect重定向到上面保存的URL
下面的代碼片斷演示了如何實現這個方法:
源頁面代碼:
private void Button1_Click( sender, System.EventArgs e) { string url; url="anotherwebform.aspx?name=" + TextBox1.Text + "&email=" + TextBox2.Text; Response.Redirect(url); }
新聞熱點
疑難解答
圖片精選