使用Method = POST在加载页面(ASP.NET)上打开window.open

时间:2010-06-08 15:18:09

标签: asp.net javascript post

我需要在asp.net中使用post方法和window.open打开弹出窗口来重新设置新窗口。

我的代码:

打开弹出窗口:

function mdpbch(URL) {
    child = window.open(URL, "passwd","dependent=1,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=1,width=600,height=475");
    child.location.href = URL;
    if (child.opener == null) {
      child.opener = window;
    }
    child.opener.name = "opener";
  }

URL:

function PagoEnLinea(Banco)
{
    switch(x){
        case "BCH":
            document.frmEnvia.action = SERV + "/llamacom.asp";
             url = SERV + "lamacom.asp
             alert(url);
             mdpbch(url);
             document.frmEnvia.submit();
            break;
    }    
}

ASPX:

<body>
    <form id="frmEnvia" runat="server" name="formulario" method="post" target="_blank">

    <div style="visibility:hidden;">
        <asp:TextBox ID="txtXml" runat="server" Visible="true" />
    </div>
    .....    
</body>

on page load(代码隐藏)我创建一个xml字符串并将其放在文本框txtXml中。

我需要使用post方法,因为服务器验证了te方法,而window.open则需要自定义弹出窗口

感谢

2 个答案:

答案 0 :(得分:0)

我认为你应该操纵这个对象:

parentWindow

文档对象中;在您提交表单之前,请执行以下操作:

switch(x){
    case "BCH":
        document.frmEnvia.action = SERV + "/llamacom.asp";
         url = SERV + "lamacom.asp
         alert(url);
         mdpbch(url);
         //here you manipulate the parentWindow element
         document.parentWindow.scrollbars... (add the attributes you need)
         //--
         document.frmEnvia.submit();
        break;
}

答案 1 :(得分:0)

由于您要将弹出窗口的名称设置为passwd,因此您应该可以将表单的target属性设置为passwd

所以唯一需要做的改变如下:

<form ... target="passwd">