如何找到动态创建的控件的客户端ID?

在我的ascx中,我有以下代码段。

  function DoSomething() {
        var loneStar= $find("<%= loneStar.ClientID %>");
        loneStar.hide();
    }

在后面的代码中,我有
public partial class SomeControl: System.Web.UI.UserControl
    {
    protected Label loneStar = new Label { Text = "Raspeberry", ForeColor = System.Drawing.Color.DarkGray};

    private void someOtherMethod()
         {
         somePanel.Controls.Add(loneStar);
         }
    }

问题在于呈现的页面中的ClientID显示为空。

我在这里想念什么?

最佳答案

您需要给控件一个ID,否则将不会生成ID属性。对您的C#进行如下更改:

protected Label loneStar = new Label { ID = "loneStar", Text = "Raspeberry", ForeColor = System.Drawing.Color.DarkGray};

10-04 22:36