明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

對(duì)于ASP.NET下身份信息的保存(3)

[摘要]前兩節(jié)描述了我對(duì)身份驗(yàn)證信息的保存的認(rèn)識(shí),沒有看的哥們請(qǐng)依次看過關(guān)于ASP.NET下身份信息的保存(二),關(guān)于ASP.NET下身份信息的保存(一) .今天我想說一下Server.Transfer,在上兩節(jié)里,我們是靠Server.Transfer方法將保存的用戶信息傳遞到下一頁的.但是在實(shí)際的應(yīng)用...
前兩節(jié)描述了我對(duì)身份驗(yàn)證信息的保存的認(rèn)識(shí),沒有看的哥們請(qǐng)依次看過關(guān)于ASP.NET下身份信息的保存(二),關(guān)于ASP.NET下身份信息的保存(一) .

今天我想說一下Server.Transfer,在上兩節(jié)里,我們是靠Server.Transfer方法將保存的用戶信息傳遞到下一頁的.但是在實(shí)際的應(yīng)用中我發(fā)現(xiàn)應(yīng)用前兩篇文章的想法的弊端.

Server.Transfer();方法在應(yīng)用中只能在兩個(gè)頁面之間傳遞值,但是當(dāng)加入第三個(gè)頁面的時(shí)候卻無法將值順利的保存并傳遞。

譬如:有頁面A.aspx(為login頁面),B.aspx(信息匯總頁面),C.aspx(單個(gè)信息頁面)在A頁面中我們執(zhí)行身份驗(yàn)證并且保存在this.Login_User屬性里然后Server.Transfer(B.aspx),則值順利傳遞到B頁面,然后在B頁面中也Server.Transfer(C.aspx);理論上講值應(yīng)該可以順利傳遞到C頁面,但是我們?cè)贑頁面里通過

B ls=(B) Context.Handler;//讀取頁面值
userinfo=ls.Login_User;//讀取用戶信息值

方法卻無法填充userinfo變量,為什么?

哥們兒,搞了一個(gè)上午總算明白了,Context是無法在第三個(gè)頁面里繼續(xù)保存里面的信息的,大家不能象用session那樣去使用Context,所以我們?cè)贐頁面里應(yīng)該再次執(zhí)行一遍this.Login_User=userinfo;這樣將值再次添加到Context,然后再Server.Transfer();就可以了。

以上是小弟的一點(diǎn)拙見,愿意拿出來和大家探討。如有高人有更為深刻的認(rèn)識(shí)