を使用してコレクション内のすべてのリテラルをロードOfType
でき、後でそれらの text プロパティを変更できます。
var literals = this.Page.Controls.OfType<Literal>();
foreach (Literal literal in literals)
{
literal.Text = "Your Text";
}
編集:
ページ上の別のコントロール内にコントロールがあるため、ネストされたコントロールの検索を行う必要があります。次の拡張メソッドを試すことができます。この投稿から取得。
まず、拡張メソッドのクラスを次のように作成します。
public static class ExtensionMethod
{
public static IEnumerable<Control> FindAll(this ControlCollection collection)
{
foreach (Control item in collection)
{
yield return item;
if (item.HasControls())
{
foreach (var subItem in item.Controls.FindAll())
{
yield return subItem;
}
}
}
}
public static IEnumerable<T> FindAll<T>(this ControlCollection collection) where T : Control
{
return collection.FindAll().OfType<T>();
}
}
後で次のように使用できます。
protected void Button1_Click(object sender, EventArgs e)
{
var literals = this.Controls.FindAll<Literal>();
foreach (Literal literal in literals)
{
literal.Text = "Your Text";
}
}