根据字符串访问特定标签

Gor*_*ake 1 c# asp.net

如果我在ASP.NET页面上有10个标签,有没有办法可以编程方式选择一个基于值设置的标签?

<asp:Label runat="server" ID="errormsgLbl1" CssClass="errorMessage"/>
<asp:Label runat="server" ID="errormsgLbl2" CssClass="errorMessage"/>
<asp:Label runat="server" ID="errormsgLbl3" CssClass="errorMessage"/>
<asp:Label runat="server" ID="errormsgLbl4" CssClass="errorMessage"/>
<asp:Label runat="server" ID="errormsgLbl5" CssClass="errorMessage"/>
<asp:Label runat="server" ID="errormsgLbl6" CssClass="errorMessage"/>
<asp:Label runat="server" ID="errormsgLbl7" CssClass="errorMessage"/>
<asp:Label runat="server" ID="errormsgLbl8" CssClass="errorMessage"/>
<asp:Label runat="server" ID="errormsgLbl9" CssClass="errorMessage"/>
<asp:Label runat="server" ID="errormsgLbl10" CssClass="errorMessage"/>
Run Code Online (Sandbox Code Playgroud)

然后在我的代码隐藏

var labeltochange = "errormsgLbl1";
.
. Magic here
.
labeltochange.text = "message";
Run Code Online (Sandbox Code Playgroud)

Mic*_*Liu 5

使用Control.FindControl方法:

var labeltochange = "errormsgLbl1";
Label label = (Label)this.FindControl(labeltochange);
label.Text = "message";
Run Code Online (Sandbox Code Playgroud)

有关How to: Access Server Controls By ID更多信息,请参阅