Discussion:
如何在button事件內 讀取 動態產生伺服器控制項的 屬性值
(时间太久无法回复)
birdie
2006-07-24 06:42:02 UTC
Permalink
請教各位大大們一個問題

那就是如果在PageLoad的事件內要讀取到 動態產生伺服器控制項的 屬性值...沒有問題;
但是如果是其他事件就會讀到nothing(null)的值,
請問是否有辦法讀取到呢??
謝謝~

Albert

<%
Response.Write("<asp:Label ID=""lblZZ"" runat=""server""
Text=""ZZ"">ZZ</asp:Label>")
%>

Protected Sub btnGo_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles btnGo.Click
Dim obj As Label
obj = CType(Me.Page.FindControl("lblZZ"), Label)
obj.Text = "BB"
End Sub

Error:
CType(Me.Page.FindControl("lblZZ"), Label) → 物件對應不到參考執行的個體:Nothing
birdie
2006-07-24 08:46:02 UTC
Permalink
還有...
如果在Page_Init內動態產生伺服器控制項時,在這個事件內可以看到
Page物件確實有把lblAA給加到頁面上,同時監看到Me.Page.Controls有lblAA的內容
但是Me.Page.Controls看不到lblZZ的內容(用<% %>的方式產生的)
請問這是什麼原因??

最後當按下按鈕時,會發現Me.Controls已經沒有lblAA的內容了
所以根本無法透過Me.Page.Findcontrol("lblAA") 來讀取lblAA的控制項物件屬性

請問...如果要讀取lblAA的控制項物件屬性可以辦到嗎?
如果可以該如何做呢?
謝謝~

--------------------------------------------------------------------------------------------------------------
Protected Sub Page_Init(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Init
If (Not Page.IsPostBack) Then
Dim obj As New Label()
obj.ID = "lblAA"
obj.Text = "AA"
Me.Controls.Add(obj)
End If
End Sub
birdie
2006-07-24 09:53:01 UTC
Permalink
解決了...在生成的時候....不加postback的判斷就好了
^ ^

Albert

继续阅读narkive:
Loading...