0

ウィザードコントロールのタグにリテラルコントロールを配置しました。

コードビハインドでは、そのコントロールにアクセスできません。

何故ですか?

4

2 に答える 2

3

あらゆる種類のテンプレートコントロール(ウィザード、リピーターなど)は、テンプレート内のコントロールをメンバー変数として公開しません。正しいステップでFindControlを使用する必要があります。

すなわち、

var myStep = wizard.Steps[1]; // or however you want to find it
var myLiteral = myStep.FindControl("MyLiteral") as Literal;

ウィザードのステップ内に他のテンプレート化されたコントロールがある場合は、それらに対しても「FindControl」を実行して、リテラルへのドリルダウンを続行する必要があります。これを簡単にするために、「FindControlRecursive」拡張メソッドを作成しました。

于 2010-06-27T00:04:28.033 に答える
0

これを試しましたか:

Literal literal = MyWizard.FindControl("MyLiteral") as Literal;
if (literal != null)
    // do something with literal

(たぶんあなたは試しましたが、あなたの質問からどうやってそれを知ることができますか?)

于 2010-06-26T23:14:17.657 に答える