C 頁面傳值

2021-08-22 20:15:50 字數 2973 閱讀 9529

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)

b.aspx中c#**

private void page_load(object sender, eventargs e)

4. 使用cookie物件變數

這個也是大家常使用的方法,與session一樣,其是什對每乙個使用者而言的,但是有個本質的區別,即cookie是存放在客戶端的,而session是存放在伺服器端的。而且cookie的使用要配合asp.net內建物件request來使用。

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)

asp.net web forms 給開發者提供了極好的事件驅動開發模式。然而這種簡單的應用程式開發模式卻給我們帶來了一些小問題,舉個例子,在傳統的asp應用程式中,你能夠通過post方法很容易的把乙個值或多個值從乙個頁面傳送到另乙個頁面(request()/request.form()/request.querystring()),用同樣的方法在asp.net中實現有點麻煩。在這裡,通過其他方式來解決這種情形。asp.net為我們提供了三種方式,一種是可以通過用querystring來傳送相應的值,再一種是通過session變數來傳送相應的值,還有就是通過server.transfer方法來實現。

一、使用querystring

querystring是一種非常簡單的傳值方式,其缺點就是會把要傳送的值顯示在瀏覽器的位址列中,並且在此方法中不能夠傳遞物件。如果你想傳遞乙個安全性不是那麼太重要或者是乙個簡單的數值時,用此方法最好不過了。下面通過乙個小例子來完成傳值工作,步驟如下:

1、建立乙個web form

2、在新建的web form中放置乙個button1,在放置兩個textbox1,textbox2

3、為button按鈕建立click事件

**如下:

private void button_click(object sender,system.eventargs e)

4、新建乙個目標頁面命名為webform2

5、在webform2中放置兩個label1,label2

在webform2的page_load中新增如下**:

private void page_load(object sender,system.eventargs e)

執行,即可看到傳遞後的結果了。

二、使用session變數

使用session變數傳值是一種最常見的方式了,此中方式不僅可以把值傳遞到下乙個頁面,還可以交叉傳遞到多個頁面,直至把session變數的值removed後,變數才會消失。舉個例子看看:

1、建立乙個web form

2、在新建的web form中放置乙個button1,在放置兩個textbox1,textbox2

3、為button按鈕建立click事件

**如下:

private void button_click(object sender,system.eventargs e)

4、新建乙個目標頁面命名為webform2

5、在webform2中放置兩個label1,label2

在webform2的page_load中新增如下**:

private void page_load(object sender,system.eventargs e)

執行,即可看到傳遞後的結果了。

三、使用server.transfer

雖然這種方法有點複雜,但也不失為一種在頁面傳值的方式。

舉個例子看看:

1、建立乙個web form

2、在新建的web form中放置乙個button1,在放置兩個textbox1,textbox2

3、為button按鈕建立click事件

**如下:

private void (object sender,system.eventargs e)

4、建立過程來返回textbox1,textbox2控制項的值**如下:

public string name

}public string email

}5、新建乙個目標頁面命名為webform2

6、在webform2中放置兩個label1,label2

在webform2的page_load中新增如下**:

private void page_load(object sender,system.eventargs e)

{//建立webform的例項

webform1 wf1;

//獲得例項化的控制代碼

wf1=(webform1)context.handler;

label1.text=wf1.name;

label2.text=wf1.email;

C 頁面傳值

1.使用querystring變數 querystring是一種非常簡單的傳值方式,他可以將傳送的值顯示在瀏覽器的位址列中。如果是傳遞乙個或多個安全性要求不高或是結構簡單的數值時,可以使用這個方法。但是對於傳遞陣列或物件的話,就不能用這個方法了。下面是乙個例子 a.aspx的c private vo...

父子頁面傳值和子兄弟頁面傳值

前言 我是用的layer彈出框整的layer父子頁面 父 子 子 父 子彈窗給父頁面元素賦值 parent.parentinput val 這是從彈窗傳遞過來的資料 子彈窗呼叫父頁面方法 window.parent.childinvokermethod 子彈窗獲取父頁面元素的值 window.par...

子頁面傳值與父頁面傳值(上)

這樣的乙個問題 在父頁面中跳轉到子頁面後,獲取到輸入的值後傳遞給父親頁面,然後在父頁面上賦值給父頁面上得某個控制項 這裡提供兩種方法,一種是js,另外一種是ajax的 js方法 父親頁面上的js 傳遞值給子頁面 function getinfo 修改,選中並且返回值給父頁面 function com...