Fw: [問題] asp.net Request

看板C_Sharp (C#)作者 (大魯蛇)時間11年前 (2014/03/22 19:07), 編輯推噓2(2018)
留言20則, 5人參與, 最新討論串1/1
※ [本文轉錄自 Web_Design 看板 #1JBMwp0f ] 作者: BigLoser (大魯蛇) 看板: Web_Design 標題: [問題] asp.net Request 時間: Sat Mar 22 19:06:25 2014 請教一下各位前輩, 我在寫asp.net的後端中, 以下兩種寫法有什麼差異嗎? (1) string text = TextBox.Text; (2) string text = Request["TextBox"]; 在後端寫過多的 Request 會有什麼缺點嗎? 謝謝 <3 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 36.234.149.230

03/22 19:57, , 1F
2的方式一定不會throw error, 但會讀不到在container中
03/22 19:57, 1F

03/22 19:58, , 2F
的扛control的值(因為被改名了).
03/22 19:58, 2F

03/22 20:32, , 3F
1F你好 不太懂妳的解釋呢
03/22 20:32, 3F

03/22 22:46, , 4F
可以去看看你拉的物件在html中的name名字
03/22 22:46, 4F

03/22 23:12, , 5F
Request的意思知道了嗎?
03/22 23:12, 5F

03/22 23:15, , 6F
如果寫得好的話兩者沒有差異
03/22 23:15, 6F

03/22 23:17, , 7F
只是通常Request不需要用在Server Control上,因為沒必要
03/22 23:17, 7F
因為我要解決一些問題,所以才會想用這個方法, 不過今天GOOGLE到了一個解法,但還沒試不確定適不適用, 還是先謝謝大家的回答,另外請問m339606板友,什麼叫做寫的好= =?

03/22 23:50, , 8F
如同f版友說的,你去看實際網頁的原始碼的id
03/22 23:50, 8F

03/22 23:53, , 9F
ServerControl輸出的時候id會被改掉
03/22 23:53, 9F

03/22 23:54, , 10F
你在做的時候id是TextBox但是在客戶端看可就不一定了
03/22 23:54, 10F

03/22 23:55, , 11F
Request是從客戶端Post回來的網頁中去找出符合的id控制項
03/22 23:55, 11F

03/23 00:05, , 12F
一弄不好就會發生id衝突
03/23 00:05, 12F

03/23 23:23, , 13F
控制項在樣板或主版頁面中,用戶端的id和name都會加上
03/23 23:23, 13F

03/23 23:23, , 14F
上層容器的id,並且id會以底線分隔,name會以$符號分隔
03/23 23:23, 14F

03/23 23:24, , 15F
而Request["名稱"]用的是$符號分隔的name
03/23 23:24, 15F

03/23 23:25, , 16F
Control.ClientID可以取得用戶端的id
03/23 23:25, 16F

03/23 23:25, , 17F
Control.UniqueID可以取得用戶端的name
03/23 23:25, 17F

03/23 23:26, , 18F
除非有必要取得用戶端post的內容,否則使用TextBox.Text
03/23 23:26, 18F

03/23 23:26, , 19F
就可以了
03/23 23:26, 19F

03/23 23:27, , 20F
因為.net背後已經幫你把post的內容放到Text等相關屬性中
03/23 23:27, 20F
謝謝大家的回答,關於fumizuki板友說的這件事情我是知道的, 我本來想問的缺點,是會不會有什麼效率上的差別之類的, 非不得已我也不想寫第二種,不過這個假日似乎找到了解決方法了, 雖然有初步測試了,不過還是要等有空在加入到專案中測試過才知道結果如何, 非常謝謝大家 ※ 編輯: BigLoser 來自: 113.61.164.195 (03/23 23:37)
文章代碼(AID): #1JBMxaes (C_Sharp)
文章代碼(AID): #1JBMxaes (C_Sharp)