對(duì)于ASP.NET下身份信息的保存(3)
發(fā)表時(shí)間:2024-02-22 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]前兩節(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í)