ASP.NET中的網頁間傳值__.net

來源:互聯網
上載者:User

ASP.NET中的網頁間傳值

一、舉例

在淘寶上,輸入正確的使用者名稱、密碼後就可以登入到個人帳號的網頁中,例如使用者名稱WangWang。使用者WangWang無論是搜尋商品、查看商品、查看個人資訊,都會開啟很多網頁。這時候,使用者WangWang進行的所有的操作都是基於自己的帳號。換句話說,無論使用者WangWang開啟多少淘寶的網頁,只要帳號沒有退出,就是在自己的帳號下進行的操作。

在這種情況下,就涉及到網頁之間的傳值,即使用者WangWang開啟的網頁都是被標記為“WangWang”的網頁。

二、ASP.NET中常用的網頁間傳值的技術

技術一:Request . QueryString [ “ ” ]方式

技術二:Session對象

規律:無論使用哪種方法,傳值一定是分成兩步:第一步,在第一個網頁中賦值;第二步,在第二個網頁中接收傳遞過來的值。

三、Request . QueryString [ “ ” ]方式

使用這個方式傳值,是通過網址實現的。

舉例:第一步:在第一個頁面First . aspx中賦值

Response.Redirect("Second.aspx?id=100");

解釋:

Response.Redirect()方法是連結到另一個網頁

second.aspx指的是目標網頁

。說明有網頁之間的傳值

id=100說明實際要傳遞的值是100,通過名字id來指代(id這個名字是可以根據實際情況來命名的)。

如果要傳遞的資訊是使用者名稱WangWang,可以寫成

Response.Redirect("second.aspx?name=WangWang");

注意:WangWang不用使用單引號引起來。

第二步:在第二個頁面Second.aspx中接收傳遞的值

情況一:string str = Request.QueryString["id"];//即str=”100”

或者string str = Request.QueryString["name"];//即str=”WangWang”

這樣,從First.aspx網頁傳遞過來的值就在Second.aspx頁面中被string類型的變數str接收了。

情況二:接收的值直接運用於SQL語句中。

規律:一般網頁之間的傳值都是運用於SQL語句,所以要掌握這種方法。

(1)string strSQL = "select * from news where id =" +Request. QueryString ["id"];

實際得到的SQL語句是:select * from news where id =100;//前提:欄位id是整型

(2)string strSQL = "select * from news where name =’" +Request. QueryString ["name"] + "’";

實際得到的SQL語句是:select * from news where name =’WangWang’ //前提:欄位name是字元型

 

四、Session對象

使用Session對象相當於在整個網站內定義了一個“全域變數”,可以在所以網頁中傳遞值。

注意:使用了Session對象的網頁運行時是有先後順序的。一定是“聲明”Session對象的網頁先運行。

舉例:

第一步:在First.aspx網頁中聲明Session對象

protected void Page_Load(object sender, EventArgs e)

{

Session["Name"] = "";

//相當於聲明一個“全域變數”,這個“全域變數”可以在網頁之間傳值

}

protected void Button1_Click(object sender, EventArgs e)

{

    Session["Name"] = “WangWang”; //為Session對象Name賦值

    Response.Redirect("Second.aspx");//連結到另一個網頁

}

第二步:在Second.aspx網頁中使用Session對象

protected void Page_Load(object sender, EventArgs e)

{

if(Session["Name"] == "WangWang")

{

   Label1.Text="使用者 WangWang:上午好。";

}

else

{

       Response.Redirect("First.aspx");//如果驗證Session對象Name的值不是“WangWang”,那麼網頁直接跳轉到First.aspx中,從而實現網頁資訊的保護

}

}

注意:在使用Session對象時,運行網頁一定要先從First.aspx頁面開始運行。如果從Second.aspx開始運行,由於Session對象Name沒有聲明,也沒有賦值,會出現錯誤的。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.