获取服务器标签不是很好的错误

时间:2015-04-24 10:06:46

标签: javascript repeater

        <script type="text/javascript" language="javascript">
        function EnableDisablePkgInclusionDropDown(chkBox,index) {
                alert("RowIndex: " + (index - 1));
                var repeater = document.getElementById('<%= pnlrptPckgInclusions.ClientID %>');
                var dropdowns = repeater.getElementsByTagName('select');
                if ($(chkBox).is(':checked')) {
                    dropdowns[index - 1].disabled = true;
                    dropdowns[index - 1].selectedIndex = document.getElementById('<%=ddlMarkUpBasis.ClientID%>').selectedIndex;
                }
                else {
                    dropdowns[index - 1].disabled = false;
                    dropdowns[index - 1].selectedIndex = "0";
                }
            }
        </script>

    <asp:Repeater runat="server" ID="rptPckgInclusions">      
    <ItemTemplate> 
<td align="center" style="width: 20%;">
        <input type="checkbox" runat="Server"  ID="chkApplyParentMarkUp" OnClick='EnableDisablePkgInclusionDropDown(this,<%#DataBinder.Eval(Container.DataItem, "ID") %>);' />
</td>
    </ItemTemplate> 
    </asp:Repeater>

如果我删除runat =&#34; server&#34;从复选框然后它的工作正常但我想在代码隐藏中使用这个控件的值。

为什么会这样?

提前致谢

1 个答案:

答案 0 :(得分:0)

使用类似的东西

<asp:CheckBox runat="server" ID="chkApplyParentMarkUp" OnCheckedChanged='EnableDisablePkgInclusionDropDown(this,<%#DataBinder.Eval(Container.DataItem, "ID") %>);' />

因为您无法将输入类型复选框定义为runat="server"。并代表OnCheckedChanged事件使用onClick事件。