2012年11月7日 星期三

asp.net 網頁間傳值




分為不同網站間網頁的傳值
跟同一個網站裡的網頁間的傳值
不同網站間網頁的傳值有兩種
1.Form傳值方法,用跨網頁POST或是伺服器重新導向時可用
先假設即將要傳值的網頁裡面有一個TextBox叫做TextBox1
接收值的方法是
Request.Form["TextBox1"].ToString();//這是個字串

2.QueryString傳值方法
當我們要連到下一個網頁時,直接將一些值打在網址上傳過去
像是http://www.Hello.com/MyHello.aspx?Name=welkingunther&Face=handsome
就可把Name和Face的值傳到MyHello.aspx網頁
然後在MyHello.aspx用以下方法接收值
Request.QueryString["Name"]//這會得到一個字串welkingunther
Request.QueryString["Face"] //這會得到一個字串handsome

同一個網站裡的網頁間的傳值
PreviousPage的兩種方法
這兩種是當我們用跨網頁Post或是伺服器重新導向且網頁們都在同一個網站時可用
  • 第一種
在來源網頁MySource.aspx寫上一個public的屬性
public string HiHello
{
   get
{
   return "Cool";
}
}
然後當我們用了跨網頁Post或是伺服器導向 導向至目的網頁後
就可在目的網頁讀取到這個屬性(這邊只可讀取到,不能寫回去,所以沒有set)
但還要在這個目的網頁的上方加入一行
<%@PreviousPageType VirtualPath="~/MySource.aspx"%>
如此就可接收值
用PreviousPage.HiHello//可得到字串Cool

  • 第二種
假設來源網頁有一個TextBox1的控制項
然後當我們用了跨網頁Post或是伺服器導向 導向至目的網頁後
可在目的網頁寫
TextBox MyText=(TextBox)PreviousPage.FindControl("TextBox1");
MyText.Text這句即可抓到來源網頁的TextBox1裡面的值

0 意見:

張貼留言

 

MangoHost Copyright © 2009 Cookiez is Designed by Ipietoon for Free Blogger Template