Wizard <stepnavigationtemplate>标记内的控件在代码隐藏中不可用?</stepnavigationtemplate>

时间:2010-06-26 22:10:51

标签: c# asp.net controls wizard asp.net-controls

我在Lite控件的标签中放了一个Literal控件。

在代码隐藏中,我无法访问该控件。

为什么?

2 个答案:

答案 0 :(得分:3)

任何类型的模板控件(向导,转发器等)都不会将模板内的控件公开为成员变量。您需要在正确的步骤上使用FindControl。

即,

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

如果您在向导中有其他模板化控件,则需要对这些控件执行“FindControl”以继续向下钻取到您的文字。我创建了一个“FindControlRecursive”扩展方法,使这更容易。

答案 1 :(得分:0)

你试过这个:

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

(也许你尝试了,但我怎么能从你的问题中知道这一点?)