台灣最大程式設計社群網站
線上人數
989
 
會員總數:246087
討論主題:189663
歡迎您免費加入會員
討論區列表 >> AJAX / JSON / jQuery >> 在AJAX的TabContainer裡FindControl不到Label
[]  
[我要回覆]
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
在AJAX的TabContainer裡FindControl不到Label
價值 : 30 QP  點閱數:5623 回應數:18
樓主

alex
門外漢
0 121
1561 307
發送站內信

該tab也是動態產生,然後裡面再動態產生Label然後Label塞一些控制項
當從資料庫抓資料跑第一次迴圈時建立Label並給定id
當第二次資料與第一次有關連時用FindContrl去抓該Label的id
卻都抓不到,更奇怪是我如果不管id,用同樣的值給他也沒錯誤
看原始碼Label所產生的<span id=xx>竟然一樣也無錯誤訊息
真是怪哉,try了幾種方法都不行


本篇文章發表於2007-06-20 16:53
1樓
回應

Jeff
捐贈 VP 給 Jeff 檢舉此回應
FindControl 只能找到下一層的子控制項,你可以使用遞迴方式的 FindControl,比較能輕易找到控制項。
請參考下面的文章。

[遞迴方式的 FindControl]
http://blog.blueshop.com.tw/jeff377/archive/2007/01/04/49081.aspx
本篇文章回覆於2007-06-20 18:02
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

alex
檢舉此回應

他提供的方法我要怎麼套用呢
本篇文章回覆於2007-06-20 18:45
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

Jeff
捐贈 VP 給 Jeff 檢舉此回應
如果你不確定那個子控制項置於那個容器控制項中,那就使用 Me.Form 為基準很下找。
範例如下

FinfControlEx(Me.Form, "子控制項的ID")
本篇文章回覆於2007-06-20 18:49
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

Jeff
捐贈 VP 給 Jeff 檢舉此回應
上面打錯了,正確應該如下

FindControlEx(Me.Form, "子控制項的ID")
本篇文章回覆於2007-06-20 18:50
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

alex
檢舉此回應
但不是也要回傳到LABEL嗎

他會說不能轉換為label
本篇文章回覆於2007-06-20 18:51
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
回應

Jeff
捐贈 VP 給 Jeff 檢舉此回應
傳回的型別是 System.Web.UI.Control,你要在轉型

VB.NET 的寫法如下
Lbl = CType(FinfControlEx(Class_Tabs,xxx), Label);
本篇文章回覆於2007-06-20 20:27
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
作者回應

alex
檢舉此回應
我是用C#,能幫忙轉嗎∼謝謝
本篇文章回覆於2007-06-20 20:49
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
回應

Jeff
捐贈 VP 給 Jeff 檢舉此回應
Lbl = (Label)FinfControlEx(Class_Tabs,xxx);
本篇文章回覆於2007-06-20 23:10
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
作者回應

alex
檢舉此回應
還是找不到Lbl

本篇文章回覆於2007-06-21 00:02
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
回應

Jeff
捐贈 VP 給 Jeff 檢舉此回應
我覺得你的問題是發生在動態產生控制項,你可以參考下面的文章,了解在頁面上如何動態產生控制項。

[在 Web Form 動態建立控制項的正確方法]
http://blog.blueshop.com.tw/jeff377/archive/2007/01/09/49158.aspx
本篇文章回覆於2007-06-21 01:13
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
11樓
作者回應

alex
檢舉此回應
檢查了一下我動態建立的方式沒錯而且我一開始也是放在Page_Init裡非Page_Load中
所以問題還在...
本篇文章回覆於2007-06-21 10:02
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
12樓
回應

cptseng
捐贈 VP 給 cptseng 檢舉此回應
1. 可能是的BUG吧, 詳見
http://www.codeplex.com/AtlasControlToolkit/WorkItem/View.aspx?WorkItemId=11168
2. 你的AJAX 版本為何, Download 新版本(0618)試試看吧
本篇文章回覆於2007-06-23 06:27
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
13樓
作者回應

alex
檢舉此回應
請問版本從哪看
本篇文章回覆於2007-06-23 11:30
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
14樓
回應

cptseng
捐贈 VP 給 cptseng 檢舉此回應
Bin\AjaxControlToolkit.dll 按滑鼠右鍵-內容-版本
10301
10606
10618 (最新版本) http://www.codeplex.com/AtlasControlToolkit
本篇文章回覆於2007-06-23 12:14
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
15樓
作者回應

alex
檢舉此回應
原本是10301我更新10618後
但還是找不到

本篇文章回覆於2007-06-23 13:00
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   

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