台灣最大程式設計社群網站
線上人數
1154
 
會員總數:245894
討論主題:189491
歡迎您免費加入會員
討論區列表 >> ASP.NET >> 關於request取值的問題
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
關於request取值的問題
價值 : 10 QP  點閱數:232 回應數:8
樓主

阿傑
門外漢
0 1
20 3
發送站內信

菜鳥想請問個對於 Page.Request 的問題
假如我有一個textbox和Button控制項,以下是程式碼
[code]
protected void Page_Load(object sender, EventArgs e)
{
TextBox1.Text = "Load";
}
protected void Button1_Click(object sender, EventArgs e)
{
Button1.Text = Request[TextBox1.UniqueID];
}
[/code]
正常來說不是會因為postback改變了TextBox1.text的值,然後再觸發Button1_Click事件,從而顯示"Load",
但是當我在頁面上修改了TextBox1的文字後,點擊按鈕,出現的竟然是修改後的文字,而不是顯示"Load"

想請問版上大大們,因為我爬文了像是MSDN的HttpRequest 類別,但還是不理解



搜尋相關Tags的文章: [ HttpRequest ] ,
本篇文章發表於2020-06-19 22:20
1樓
回應

Allen
捐贈 VP 給 Allen 檢舉此回應
按了之後, textbox仍是Load, Button.Text則顯示你輸入的值,對嗎? 請問你的問題是?
本篇文章回覆於2020-06-20 12:01
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

阿傑
檢舉此回應
我注意到了,抱歉,昨天在PO的時候沒有注意到,textbox的手動改的值跟動態修改的一樣。
問題是:
當我修改textBox的值為"AAA",並且按下button1_Click事件後,正常會因為PostBack,觸發Load事件,顯示的文字為"Load",
但是卻顯示"AAA"。
所以我不太懂為什麼觸發了Load事件之後,再觸發Button事件中的Request[textbox1.uniqueID],顯示的還是"AAA",而不是"Load"
本篇文章回覆於2020-06-20 12:16
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

Allen
捐贈 VP 給 Allen 檢舉此回應
如果你想取得AAA, 就寫成
Button1.Text = TextBox1.Text;
因為Request值真的是你輸入的值
本篇文章回覆於2020-06-20 12:43
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

阿傑
檢舉此回應
結果方面我看到的的確是這樣,但我還是無法理解為什麼會這樣。
舉例來說,當我在一張紙上寫A,然後問別人說,上面寫著什麼,他說是A,這很正常。
可是我在上面寫A,然後在問別人之前,改成寫B,然後我問別人上面寫什麼,他還是跟我說上面寫著A......。

難道Request[control.UniqueID]這個函數,他所要求的的資料,是網頁PostBack之後,傳進Server端的資料,而不是直接從當下網頁抓控制項的ID資料嗎?
想請問大大,有沒有關於這方面的原理可以看,實際Request怎麼要求資料的
本篇文章回覆於2020-06-20 13:24
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

Allen
捐贈 VP 給 Allen 檢舉此回應
Request是從另一個物件取得值,所以你改了textbox值,的確不影響request取值內容,它會取得你剛才在表單輸入的值
本篇文章回覆於2020-06-20 13:28
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
最有價值解答

Allen
捐贈 VP 給 Allen 檢舉此回應
https://www.youtube.com/watch?v=2HwcUJAAFjw&feature=youtu.be
我錄了段影片,你參考一下
本篇文章回覆於2020-06-20 13:32
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
作者回應

阿傑
檢舉此回應
謝謝Allen版主,了解了Request事情的生命週期和定義之後,知道我自己的問題是出在對Request本身的不熟悉。
十分感謝大大在假日休息之餘,還特地拍了一支影片做教學,辛苦您了。
另外我也會去下載.net reflector,在日後幫助自己了解網頁實際執行時的週期順序。
本篇文章回覆於2020-06-20 14:26
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
回應

Allen
捐贈 VP 給 Allen 檢舉此回應
https://www.telerik.com/products/decompiler.aspx
這軟體也有相同功能,是免費的, 不一定要用.net reflector
本篇文章回覆於2020-06-20 21:32
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

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