看板 C_Sharp 關於我們 聯絡資訊
※ [本文轉錄自 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
leicheong:2的方式一定不會throw error, 但會讀不到在container中 03/22 19:57
leicheong:的扛control的值(因為被改名了). 03/22 19:58
BigLoser:1F你好 不太懂妳的解釋呢 03/22 20:32
f1234518456:可以去看看你拉的物件在html中的name名字 03/22 22:46
m339606:Request的意思知道了嗎? 03/22 23:12
m339606:如果寫得好的話兩者沒有差異 03/22 23:15
m339606:只是通常Request不需要用在Server Control上,因為沒必要 03/22 23:17
因為我要解決一些問題,所以才會想用這個方法, 不過今天GOOGLE到了一個解法,但還沒試不確定適不適用, 還是先謝謝大家的回答,另外請問m339606板友,什麼叫做寫的好= =?
m339606:如同f版友說的,你去看實際網頁的原始碼的id 03/22 23:50
m339606:ServerControl輸出的時候id會被改掉 03/22 23:53
m339606:你在做的時候id是TextBox但是在客戶端看可就不一定了 03/22 23:54
m339606:Request是從客戶端Post回來的網頁中去找出符合的id控制項 03/22 23:55
m339606:一弄不好就會發生id衝突 03/23 00:05
fumizuki:控制項在樣板或主版頁面中,用戶端的id和name都會加上 03/23 23:23
fumizuki:上層容器的id,並且id會以底線分隔,name會以$符號分隔 03/23 23:23
fumizuki:而Request["名稱"]用的是$符號分隔的name 03/23 23:24
fumizuki:Control.ClientID可以取得用戶端的id 03/23 23:25
fumizuki:Control.UniqueID可以取得用戶端的name 03/23 23:25
fumizuki:除非有必要取得用戶端post的內容,否則使用TextBox.Text 03/23 23:26
fumizuki:就可以了 03/23 23:26
fumizuki:因為.net背後已經幫你把post的內容放到Text等相關屬性中 03/23 23:27
謝謝大家的回答,關於fumizuki板友說的這件事情我是知道的, 我本來想問的缺點,是會不會有什麼效率上的差別之類的, 非不得已我也不想寫第二種,不過這個假日似乎找到了解決方法了, 雖然有初步測試了,不過還是要等有空在加入到專案中測試過才知道結果如何, 非常謝謝大家 ※ 編輯: BigLoser 來自: 113.61.164.195 (03/23 23:37)