0

如何在 JavaScript 中处理我的用户控件?

<body>
    <form id="form1" runat="server">
    <div>
        <uc1:WebUserControl ID="WebUserControl1" runat="server" Enabled="False" />
        <input id="Button1" type="button" value="button" runat="server" onclick="return Button1_onclick()" /></div>
    </form>

    <script type="text/javascript">
        var pageDefault = {
            uc: document.getElementById("<%=WebUserControl1.ClientID%>"),
            btn1: document.getElementById("<%=Button1.ClientID%>"),
            init: function() {
                this.btn1.onclick = function() {
                    uc.setAttribute('Enabled', 'True'); //uc is null at this point
                };
            }
        }
        pageDefault.init();
    </script>

</body>
4

1 回答 1

2

为了像您一样引用 ClientID,JavaScript 需要在 UserControl 内,而不是在页面内。如果您想以此处的方式使用它,则需要将 clientId 公开为用户控件的公共属性:

public string userCtlClientId
{
  get{return userCtl.ClientId;} 
}

并修改您的脚本:

document.getElementById('<% =WebUserControl1.userCtlClientId%>');
于 2012-06-18T20:15:47.673 回答