您好,登錄后才能下訂單哦!
這篇文章主要講解了“ASP.NET如何實現畫面跳轉及解決其傳值問題”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“ASP.NET如何實現畫面跳轉及解決其傳值問題”吧!
asp.net web畫面跳轉的方法如下:
1.Server.Execute
Server.Execute并不能完全算是畫面跳轉方法,它是實現動態調用頁面并渲染其內容反映到當前頁面的方法,之所以放在這里是想與Server.Transfer等做一個比較。使用場景主要是有“包含”關系的頁面進行動態調用的時候,例如WebForm2.aspx作為WebForm1.aspx的一部分表示在后者的畫面中,則可通過在WebForm1適當的位置聲明< % Server.Execute("~/WebForm2.aspx") %>實現。
2.Server.Transfer
最節省資源的畫面跳轉方式,可保存前畫面的URL查詢字符串和表單信息,可在跳轉目標畫面中使用PreviousPage查詢跳轉前畫面屬性。Server.Transfer過程中沒有發生HTTP請求,所以不會被HTTP Module和HTTP Handler捕捉到,無法寫處理器;其本質是在服務器端直接進行頁面“切換”,所以也就有客戶端URL顯示不正確,引發一系列的問題,如:URL相對路徑問題、Sitemap問題等。
3.Response.Redirect
此命令將直接在次返回到客戶端通過URL重定向到跳轉目標頁面,比Server.Transfer多了一次客戶端和服務器端之間的往返,因為是純粹URL重定向無法保存前畫面狀態,傳值一般使用URL查詢字符串或Session傳值。
4.PostbackUrl屬性
以HTTP POST方式請求下一個畫面,可以保存跳轉前畫面狀態,問題是POST發生于客戶端,無法在服務器端實現驗證和取消跳轉的邏輯。
5.HTML鏈接
URL重定向,缺點與PostbackUrl一樣發生在客戶端只能通過URL查詢字符串進行傳值。
asp.net web畫面跳轉的傳值方法如下:
1.URL傳值
因為URL長度限制,所以無法傳送大量數據。對于敏感數據需要進行加密。
2.表單HTTP POST傳值
以HTTP POST方式將表單屬性傳回到服務器端,能夠保存前畫面狀態,可以通過PreviousPage屬性進行查詢。
3.PreviousPage屬性傳值
其實就是使用Server.Transfer和HTTP POST方式的畫面跳轉會把表單內容推送到服務器端,所以跳轉后可以通過此屬性獲得前畫面信息。
4.Session傳值
代價比較大的方式,需要注意Session變量的生命周期在不需要的時候顯式注銷對象;對于集群之間的數據共享有很好的解決方案,但是把Session變量保存在數據庫中要有慢25%的代價,這就需要考慮Web服務器和數據庫服務器的性能。
感謝各位的閱讀,以上就是“ASP.NET如何實現畫面跳轉及解決其傳值問題”的內容了,經過本文的學習后,相信大家對ASP.NET如何實現畫面跳轉及解決其傳值問題這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。