2010-12-08 20 views
0

HI、vs2008を使用してウェブアプリを構築します。 blackjack.aspxというASPページでは、idがlbBJTStatusP1 lbBJTStatusP2 lbBJTStatusP3 lbBJTStatusP4の4つのラベルがあります。ウェブラベルの名前に文字列をキャスト

は私がlbBJTStatusP1.Thisを参照することになり、その文字列lbBJTStatusP &「1」だからページの背後にあるコードを実行され、コントロール名にキャストする2つの文字列をキャストすることによって、単一のサブでこれらのラベルに対処したいと思います。

これまで私はこれを試しましたが、成功しませんでした。 boxctは "1" "2" "3"または "4"のいずれかを指します。

DirectCast(blackjack.Controls.Find("lbBJTStatusP" & boxct, True)(0), Label).BackColor = stoodcolor 

どうすればいいですか?すべてのご協力ありがとうございます。

答えて

1

文字列をコントロールの特定のインスタンスにキャストすることはできません。

あなたは何ですかです。FindControl:は文字列を受け取り、その名前のコントロールを検索して(それ以上ではない)検索して返します。このメソッドはControlを返しますので、Labelにキャストする必要があります。

+0

大変感謝します。 – simon

1

ラベルがlblqu01ex-lblqu10exです。私は以下のようにコーディングを通してテキスト値を設定します。 for i = 1 to 10 ex = "lbl" & IIf(i = 10, "qu10", "qu0" & i) & "ex" DirectCast(FindControl(ex), Label).Text = 2*100/i next

その作業 。

関連する問題