|
前兩節(jié)描述了我對(duì)身份驗(yàn)證信息的保存的認(rèn)識(shí),沒(méi)有看的哥們請(qǐng)依次看過(guò)關(guān)于ASP.NET下身份信息的保存(二),關(guān)于ASP.NET下身份信息的保存(一) .
今天我想說(shuō)一下Server.Transfer,在上兩節(jié)里,我們是靠Server.Transfer方法將保存的用戶信息傳遞到下一頁(yè)的.但是在實(shí)際的應(yīng)用中我發(fā)現(xiàn)應(yīng)用前兩篇文章的想法的弊端.
Server.Transfer();方法在應(yīng)用中只能在兩個(gè)頁(yè)面之間傳遞值,但是當(dāng)加入第三個(gè)頁(yè)面的時(shí)候卻無(wú)法將值順利的保存并傳遞。
譬如:有頁(yè)面A.aspx(為login頁(yè)面),B.aspx(信息匯總頁(yè)面),C.aspx(單個(gè)信息頁(yè)面)在A頁(yè)面中我們執(zhí)行身份驗(yàn)證并且保存在this.Login_User屬性里然后Server.Transfer(B.aspx),則值順利傳遞到B頁(yè)面,然后在B頁(yè)面中也Server.Transfer(C.aspx);理論上講值應(yīng)該可以順利傳遞到C頁(yè)面,但是我們?cè)贑頁(yè)面里通過(guò)
B ls=(B) Context.Handler;//讀取頁(yè)面值 userinfo=ls.Login_User;//讀取用戶信息值
方法卻無(wú)法填充userinfo變量,為什么?
哥們兒,搞了一個(gè)上午總算明白了,Context是無(wú)法在第三個(gè)頁(yè)面里繼續(xù)保存里面的信息的,大家不能象用session那樣去使用Context,所以我們?cè)贐頁(yè)面里應(yīng)該再次執(zhí)行一遍this.Login_User=userinfo;這樣將值再次添加到Context,然后再Server.Transfer();就可以了。
以上是小弟的一點(diǎn)拙見(jiàn),愿意拿出來(lái)和大家探討。如有高人有更為深刻的認(rèn)識(shí)
|
溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!