如何投射ASP.NET标签?

Ada*_*Ada -5 c# asp.net

我有一个ASP.NET页面.我有这样的标签:

<label id="CalistigiFirmaUnvanLabel" runat="server" style="width: 100%; float: left; font-size: 10pt; font-weight: bold; font-family: Calibri">
Çal??t??? Kurumun Unvan?</label>
Run Code Online (Sandbox Code Playgroud)

每15页有10个.在某种情况下,我想更改这些标签的innerTexts.因此在Page Load或Init中,我想写这样的东西:

foreach (Control ctrl in mainDiv.Controls)
{
    if (ctrl.GetType().BaseType.Equals(CalistigiFirmaUnvanLabel.GetType())
    {
        //if this labels innerText is in my Dictionary, then change it like (Label).InnerText = sth;
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,"标签"演员表不起作用.当我看到calistigifirmaVergiNoLabel它的类型,它说它是System.Web.UI.HtmlControls.HtmlGenericControl.当我为内部if中的ctrl转换Label时,它没有属性"InnerText".我该如何施展它?此外,此代码也采用了div.我只想要标签.我删除了BaseType但是它没有输入if语句.

OnR*_*lve 5

您也可以从C#或div中访问html标签(HtmlGenericControl或(HtmlGenericControl("label"))并在调用findControl()后将其强制转换为各自的类型.如果要在不使用findcontrol的情况下访问它并键入演员,你需要有'asp'标签前缀,如:

<asp:Label
Run Code Online (Sandbox Code Playgroud)

并且您需要在控件属性中包含runat ="server",以便后面的代码可以直接访问它.(因此它在intellisense中显示给你)