※ [本文轉錄自 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
2的方式一定不會throw error, 但會讀不到在container中的扛control的值(因為被改名了).
作者:
m339606 (mize)
2014-03-22 23:12:00Request的意思知道了嗎?如果寫得好的話兩者沒有差異只是通常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等相關屬性中