本帖最后由 benwu1210 于 2011-10-11 15:45:21 编辑

解决方案 »

  1.   

    http://www.iteye.com/topic/1112772
    模拟点击按钮 
      

  2.   

    是的,我在parent的服务端有加上protected void linkbtn_Click(object sender, EventArgs e)
    不过只有IE可以运行 在FireFox與Chrome不行
      

  3.   

    .click()
    是你自己定义的方法么?代码?
      

  4.   


    我没在Page_Load里定义click子层:
    <input id="btnSubmit" type="button" value="送出" onclick="Confirm()" /> <script language="javascript">
     function Confirm()
     {    
            parent.__doPostBack('linkbtn','onclick');
            parent.window.document.getElementById('linkbtn').click();
     }
     </script>parent层:
    <asp:LinkButton ID="linkbtn" runat="server" CausesValidation="false" CommandName="Post" OnClick="linkbtn_Click"></asp:LinkButton>parent层.cs档:
    protected void linkbtn_Click(object sender, EventArgs e)
    {
        txtMsg.Visible=true;
    }程式意义:按下子层的按钮後,去执行parent层的LinkButton
      

  5.   

    补充:
    我在function Confirm()中加上
    window.alert(parent.window.document.getElementById('linkbtn'));
    结果显示的是:
    javascript:__doPostBack('linkbtn','')
    这样有帮助吗?
      

  6.   

    你在父层写一个
    function foo() {
                try {
                    __doPostBack('linkbtn', '');
                   } catch (e) {
                    alert(e)
                 };
            }这样的函数
    然后在子层调用它试试..
      

  7.   

    或者
    function dispatch(el, type) {
                try {
                    var evt = document.createEvent('Event');
                    evt.initEvent(type, true, true);
                    el.dispatchEvent(evt);
                } catch (e) {
                    alert(e)
                };
            }
    然后子层调用 不过这样调用的是linkbtn的OnClientClick事件
      

  8.   

    function clientDispatch(el, type) {
             if (el.click) {
                 el.click()
             } else {             try {
                     var evt = document.createEvent('Event');
                     evt.initEvent(type, true, true);
                     el.dispatchEvent(evt);
                 } catch (e) {
                     alert(e)
                 };
             }
         }
         clientDispatch(parent.document.getElementById('linkbtn'), 'click');
    这样可行..
      

  9.   

    parent.__doPostBack('linkbtn','onclick'); 改为 parent.__doPostBack('linkbtn','');