台灣最大程式設計社群網站
線上人數
1519
 
會員總數:241330
討論主題:186904
歡迎您免費加入會員
討論區列表 >> C# >> Request相關使用時機及狀況,想釐清一些個人觀念
[ 變換順序 ]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
Request相關使用時機及狀況,想釐清一些個人觀念
價值 : 180 QP  點閱數:223 回應數:5

樓主

Liny
門外漢
0 5
355 24
發送站內信

捐贈 VP 給 Liny
如有發錯區,煩請告知申請移文,菜鳥發問,若問題有不妥,請多包涵!
爬文心得:
有爬過一些文;所以爬文過後有一些認知,例如:
1.Request.QueryString:get方法,主要是來自網址列的資訊,Ex:http://localhost:XXXX/WebApp/xxx.aspx?id=+""所以如果要獲得資訊,必須透過Request.QueryString["XX"]來得到;也就是傳值到網址列後,自他頁使用Request.QueryString來取參數值
優點:泛用性高,取值容易。缺點:不適合傳遞具有安全性的資料
2.post:使用Request.Form["XX"]取值,可透過$.post的jquery或是Ajax來傳值(已知方式)
優點:安全性較高,資料量較無限制。 缺點:爬文時似乎沒看到具體缺點。
3.Request["XX"]:包含自1和2兩種方式,取得參數值,優先Request.QueryString,有同名參數值時,可能會得到錯誤的參數值(不太確定)
4.Request.params["XX"]:所有post和get傳過來的值的集合,依次包括 request.QueryString、request.Form、request.cookies和request.ServerVariable。
5.page.request:待查文;似乎等於Request["XX"]。

發問動機
透過專案練習時,所產生的一些疑問;想釐清我的一些觀念,前提:在有MasterPage的情況下
Request、Request.params、Request.Form、Page.Request這四類的使用時機和狀況。

發問目的:
以練習題當初的狀況,是因為練習中不希望有任何參數值顯示在網址列中;所以使用Session方式來做傳值,透過小羊窒息大知道Cookies傳值,爬文則得知還有Application、PreviousePage、Server.Transfer等方式
但爬文後也知道,Session傳值,也可用於接值,似乎用不到Request方式,所以接傳值都一併使用Session,又使用Session會造成IIS負擔,練習中也使用hiddenfield去存取Session的值然後清掉Session。
但也產生此次的疑問:
若以個人練習code而言,Request能使用嗎?如果能可以使用我的Code做Request、Request.params、Request.Form、Page.Request大致舉例可使用的時機和狀況嗎?(有Code說明更好)

截錄個人練習部份相關Code:
傳值.aspx


傳值.aspx.cs


接值.aspx


接值.aspx.cs



搜尋相關Tags的文章: [ Request.params ] , [ Request.Form ] , [ Request ] ,
本篇文章發表於2017-11-08 09:23
== 簽名檔 ==

學無止境!
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

Alan.Liu
檢舉此回應
主要是因為webform讓大家混淆了前後端各自需要處理或傳送的事項
這也是為什麼微軟會有一套MVC Framework(其實這只是一小項)
(當然程式的架構撰寫及分層是依照駕駛者技術 MVC也可以寫成不MVC,Webform也可以分得清清楚楚)
因為議題太廣 我直接推薦你學習MVC Framework並從專案中慢慢去了解前後端的事項...
供參考
本篇文章回覆於2017-11-08 11:40
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

Liny
捐贈 VP 給 Liny 檢舉此回應
#1 感謝Alan版的推薦,但我目前碰不到MVC,應該說接不到相關訓練...
有想著要學,但應該不是現在,目前光是網頁、Data、WebService這樣的三層就花了很多時間,也是我目前主要練習作業的內容!
但還是謝謝您的建議
本篇文章回覆於2017-11-09 17:03
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

Liny
捐贈 VP 給 Liny 檢舉此回應

(6) 若提問者想刪除提問並收回預設的QP點數,也可以在討論串上向版主發出請求,前提是所有的回答都沒有可接受的,但此請求是否通過,需視版主的裁定,若版主不同意,則版主有權直接分配點數及結案。

覺得自己問的方式不對和內容太廣泛,想申請刪除此次提問!
本篇文章回覆於2017-11-27 15:07
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

asp小菜渣
檢舉此回應
Hi Liny,
這議題真的滿廣 可能要寫好幾篇或做一堆範例來解釋
不如給您個方向,自己實作最快

從MSND Request
我們能得知 它可以幫我們:存取資料來源 QueryString, ,Form, ,Cookies, ,或 ServerVariables 集合

這裡QueryString
則解釋了QueryString有沒有的差別
我們可以知道下了QueryString 它只會查詢網址後方的字串
沒有就整個Http集合掃一遍,這樣講你會知道效率的差別



這裡Request Params
則解釋了
查詢字串參數。
表單欄位。
Cookie。
伺服器變數。
好像跟單純Request一樣?
但您如果實作會發現,當我索引值在頁面上有多個的時候,它會同時列出。
譬如有個控制項id="Info",而我的QueryString也是Info時,會一併查找出來

這裡Request Form
則單純解釋「讀取從瀏覽器張貼的表單集合中的值」


那我貼了一堆連結 打了一些不太理解的說論
該怎麼實作了?
首先你開個Test.aspx,再後方加個Trace="true"
像這樣




拉一堆Label,button,在Page_load時做以下簡單的示範:


你就會發現下QueryString、Page_load 、按下Button submit時的trace
最重要的是trace 內的
1.cookie集合(我上面沒寫 你可以試試)
2.表單集合
3.QueryString集合
4.伺服器變數

實際做過後,並多做些變化,相信你能更了解
本篇文章回覆於2017-11-29 12:20
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

Liny
捐贈 VP 給 Liny 檢舉此回應
感謝小菜渣回應....
實作後是發現回應程式page Load成功後的時間有所差異,
您是要我理解這個嗎?
本篇文章回覆於2017-12-11 09:12
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
[ 變換順序 ]   
1

回覆
如要回應,請先登入.