- PR -

[ASP.NET・VB2005] マスターページ使用時のコントロール参照方法について

1
投稿者投稿内容
ケロ
会議室デビュー日: 2006/10/06
投稿数: 4
投稿日時: 2006-10-19 15:15
お世話になります。

マスターページを使用している状態でページ上にlblHoge0からlblHoge9まで
のラベルコントロールがあります。Page_Loadイベント内でFindControlにて
コントロールを特定し、値を表示させたいのですが、FindControlの結果が
Nullになってしまいます。

--------------------------------------------------------
Dim lbl As System.Web.UI.WebControls.Label
For i = 0 To 9
'インスタンス作成
lbl = FindControl("lblHoge" & CStr(i))
lbl.Text = DataTable.Rows(i).Item(1)
Next
--------------------------------------------------------

コントロール名に問題があるのではと考え、下記の様に変更しても結果はNullでした。
変更前: lbl = FindControl("lblHoge" & CStr(i))
変更後: lbl = FindControl("ctl00_ContentPlaceHolder1_lblHoge" & CStr(i))

どのように記述すればコントロールを見つける事ができるのでしょうか。
ご教授の程宜しくお願い致します。



どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2006-10-19 15:56
Masterページからたどってこないとみつからないみたいですね。

 Master.FindControl("ContentPlaceHolder1").FindControl("lblHoge0")

こんな感じで取り出すことになるかと思います。
ケロ
会議室デビュー日: 2006/10/06
投稿数: 4
投稿日時: 2006-10-19 18:49
どっとねっとふぁんさん、早々とご返答ありがとうございます。
早速試してみたらうまくいきました。
ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)