通过查询字符串将数据从thickbox弹出窗口传递到父级

时间:2015-10-01 06:35:02

标签: c# asp.net popup query-string thickbox

从父页面 ServiceTicket.aspx 调用Thickbox弹出窗口,如下所示:

function OpenCustomerView(companyID, accountID) {
var e = document.getElementById('<%= txtAccountID.ClientID %>');
var custId = e.value;
**var url = "CustomerSearch.aspx?custid=" + custId + "&TB_iframe=true&width=1200&height=800";**
**tb_show("Customer Search", url);**
}

在子弹出窗口 CustomerSearch.aspx 我使用此代码关闭弹出窗口并将值发送回父级:

 function CloseDialog(tanksize,companyID, accountID, address, serviceContract, cod, divisionId) {
 **var url = 'ServiceTicket.aspx?CompanyID=' + companyID + '&AccountID=' + accountID + '&Address=' + address.replace('#', '%23') + '&TankSize=' + tanksize + '&divisionId=' + divisionId;**
}

在上面的行var url =&#39; ServiceTicket.aspx?CompanyID =&#39;这就是我将值传递给父窗口的方式。

使用C#代码处理父页面上的值

if (Request.QueryString["companyID"] != null && Request.QueryString["companyID"] != "")
        {
            short companyID = Convert.ToInt16(Request.QueryString["companyID"]);
       }

所以我需要帮助从函数CloseDialog关闭这个子弹出窗口,并通过在closeialog函数中使用的var url将值传递给parent。请引导我或分享你的代码......

1 个答案:

答案 0 :(得分:0)

不确定这是否会起作用,因为这是一个很长的路要走,我为类似的问题做了类似的事情。只需尝试看看是否有效,否则通知此处将再次更新。

function CloseDialog(tanksize,companyID, accountID, address, serviceContract, cod, divisionId) {
    tb_remove();
    var url = 'ServiceTicket.aspx?CompanyID=' + companyID + '&AccountID=' + accountID + '&Address=' + address.replace('#', '%23') + '&TankSize=' + tanksize + '&divisionId=' + divisionId;    
    window.parent.location.href = url;
}