韩言福地

只有想不到的,没有办不到的。 - HY Auspicious Place

关键字:
首页 点击这里给我发消息

控件包含代码块(即 <% ... %>),因此无法修改控件集合的解决方法

浏览量:201 更新时间:2009-12-10 16:19:21

1在页面上通过JS动态创建了DIV,并且,在div里动态增加IFROM,这个ifrom来打开一个page B
B页面上操作完成后通过JS把值返回当前页面的指定控件里,我在B页面的head里写了js代码,
    <script type="text/javascript" language="javascript">
        function returnValue()
        {
            var rID=document.getElementById('<%=hidReturnVal.ClientID %>').value;
     parent.document.getElementById(rID).value="aaa"
            removeCover();
        }
    </script>
所以出现以上问题。

一下是网上的解决放法:

1.把Head标签中的Runat=“server” 去掉,我试了又试还是不行,错误依旧出现

2.javascript脚本放到body中,这个可以,当然,你也可以把这部分js放到</html>的下面,我测试了,也是可以的

3.如果一定要把JS放到head里,可以在JS的外面加工DIV ,并且加上 runat="server"

<div runat="server">

    <script type="text/javascript" language="javascript">
        function returnValue()
        {
            var rID=document.getElementById('<%=hidReturnVal.ClientID %>').value;
     parent.document.getElementById(rID).value="aaa"
            removeCover();
        }
    </script>

</div>

一定要 在div中添加 runat="server" 当然你也可以用panel ,都可以解决问题

果然。错误消失了

补充一下:在我的界面中应用了ajax框架。我没有测试是不是这的原因。

具体这个解决办法可能不是太好,有好办法大家一起来讨论一下