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 に答える