日期:2014-05-17  浏览次数:20415 次

__doPostBack问题
本帖最后由 kll329582600 于 2013-10-17 11:32:52 编辑

<script>

    function test(name){
       var lbtnSupervisor = document.getElementById("ctl00_Body_lbtnQuery_LinkButtonAction");
       eval(lbtnSupervisor.href);
我如何在父窗口的后台得到这个name。
    }
</script>
<asp:LinkButton ID="lbtn" runat="server" Text="lbtn"></asp:LinkButton>

用这种方法,弹出一个页面,在弹出的页面中我想返回一个值到父窗体。如何在父窗体的后台得到弹出窗口返回来的值。
弹出窗口:
function ReturnValue() {
            window.opener.test('abc');
            window.close();
        }



------解决方案--------------------
//父窗口方法
        function GetValueFromChild(p) {
            alert(p);
        }
        //子窗口方法
        function btnClick() {
            window.opener.GetValueFromChild("Hello");
            window.close();
            return false;
        }

------解决方案--------------------
你本身的代码不对么,我这能传值啊
------解决方案--------------------
你在父页面使用window.showModalDialog打开子页面,在子页面最后加上window.returnValue = "name的值在这里返回";这样在父页面就能拿到name值了!具体过程如下:
1,父页面
var dialog = window.showModalDialog("child.aspx", window, "dialogWidth:0px; dialogHeight:0px; center:yes; help:no; resizable:no; status:no;");
var name=dialog;
window.location.href = window.location.href;
window.location.reload;
2,子页面
 ScriptManager.RegisterStartupScript(this, this.GetType(), "auditdel", "alert('流程撤销成功!');window.close();window.returnValue = '这是要返回的name值,也可以是前台去做!';", true);
------解决方案--------------------
是不是因为你不是用window.open()方法打开的子窗口 
        //我的方法
        <asp:Button runat="server" ID="btn" OnClientClick="btnClick();" Text="Open" />

        function btnClick() {
            window.open('WebForm1.aspx');
            return false;
        }

------解决方案--------------------