asp.net
跨頁面傳值技巧總結
2008-09-02 19:40
關於頁面傳值的方法,引發了很多討論。看來有很多人關注這個,我就我個人觀點做了些總結,希望對大家有所幫助。
1.使用querystring變數
querystring是一種非常簡單的傳值方式,他可以將傳送的值顯示在瀏覽器的位址列中。如果是傳遞乙個或多個安全性要求不高或是結構簡單的數值時,可以使用這個方法。但是對於傳遞陣列或物件的話,就不能用這個方法了。下面是乙個例子:
a.aspx的c#**
private void button1_click(object sender, system.eventargs e)
b.aspx中c#**
private void page_load(object sender, eventargs e)
2.
a.aspx的c#**
b.aspx中c#**
3.使用session變數
a.aspx的c#**
private void button1_click(object sender, system.eventargs e)
b.aspx中c#**
private void page_load(object sender, eventargs e)
4.使用cookie物件變數
這個也是大家常使用的方法,與session一樣,其是什對每乙個使用者而言的,但是有個本質的區別,即cookie是存放在客戶端的,而session是存放在伺服器端的。而且cookie的使用要配合asp.net內建物件request來使用。
a.aspx的c#**
b.aspx中c#**
private void page_load(object sender, eventargs e)
5.使用server.transfer方法
這個才可以說是面象物件開發所使用的方法,其使用server.transfer方法把流程從當前頁面引導到另乙個頁面中,新的頁面使用前乙個頁面的應答流,所以這個方法是完全面象物件的,簡潔有效。
a.aspx的c#**
public string name
}private void button1_click(object sender, system.eventargs e)
b.aspx中c#**
private void page_load(object sender, eventargs e)
原頁面:
目標頁面
: textbox tb=(textbox)previousepage.findcontrol(txtbox1)
valtb = tb.text;
public string name }
private void button1_click(object sender, system.eventargs e)
b.aspx中c#**
private void page_load(object sender, eventargs e)
傳遞:
response.redirect("show.aspx?id="+ httputility.urlencode("中國
"));
接收:
編碼server.urlencode(string);
解碼server.urldecode(string);
encoding.convert (encoding, encoding, byte) 將整個位元組陣列從一種編碼轉換為另一種編碼。
由.net compact framework 支援。
asp.net中c#
的url
編碼處理
要解決的問題
:將下面的
url作為乙個引數傳到其他的頁面
後面的引數中出現漢字等,如
: ....aspx?title=
起重機在出現上面的情況的時候
,必須經過乙個
rul編碼和解碼的過程
,否則會出現錯誤
.**如下
:複製內容到剪貼簿**://
傳值string temp = "
新增到收藏夾
");//
在另外乙個檔案中取從上面傳的值
if (request.querystring["url"] != null)
if (request.querystring["title"] != null)
跨頁面傳遞
跨頁面傳遞 一 跨頁面的傳送就是提交窗體 例如page1.aspx 並把這個窗體和所有的控制項值都傳送給另乙個頁面 page2.aspx page1.aspx page2.aspx protected void page load object sender,eventargs e 跨頁面傳遞 二 ...
頁面跳轉引數傳遞
html頁面跳 window.open url,width 600,height 400 第二個引數 self,在當前視窗開啟視窗 blank 預設值 在另外的新建視窗開啟新視窗 window.location.href 在同當前視窗中開啟視窗 ahref target blank html引數傳遞...
頁面傳遞陣列引數
1 將陣列轉化成字串,用特殊字元如 將陣列的元素隔開,用普通的字串引數傳遞 2 使用json方式傳遞引數 解析c 後台得到的是個string objstr內容 從js陣列中解析出json物件返回該物件的字串表示 private static string getjsonstr string arra...