Fw: [問題] asp.net Request

作者: BigLoser (大魯蛇)   2014-03-22 19:07:15
※ [本文轉錄自 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
作者: leicheong (睡魔)   2014-03-22 19:57:00
2的方式一定不會throw error, 但會讀不到在container中的扛control的值(因為被改名了).
作者: BigLoser (大魯蛇)   2014-03-22 20:32:00
1F你好 不太懂妳的解釋呢
作者: f1234518456 (...........)   2014-03-22 22:46:00
可以去看看你拉的物件在html中的name名字
作者: m339606 (mize)   2014-03-22 23:12:00
Request的意思知道了嗎?如果寫得好的話兩者沒有差異只是通常Request不需要用在Server Control上,因為沒必要如同f版友說的,你去看實際網頁的原始碼的idServerControl輸出的時候id會被改掉你在做的時候id是TextBox但是在客戶端看可就不一定了Request是從客戶端Post回來的網頁中去找出符合的id控制項一弄不好就會發生id衝突
作者: fumizuki (矇面加菲獅)   2014-03-23 23:23:00
控制項在樣板或主版頁面中,用戶端的id和name都會加上上層容器的id,並且id會以底線分隔,name會以$符號分隔而Request["名稱"]用的是$符號分隔的nameControl.ClientID可以取得用戶端的idControl.UniqueID可以取得用戶端的name除非有必要取得用戶端post的內容,否則使用TextBox.Text就可以了因為.net背後已經幫你把post的內容放到Text等相關屬性中

Links booklink

Contact Us: admin [ a t ] ucptt.com