从Ajax TabContainer中调用时,JavaScript window.open()不起作用

时间:2012-09-13 17:27:47

标签: javascript ajaxcontroltoolkit

这是一个代码块,当页面没有任何Ajax

时,它会工作
if (sStat > "") {
    str2 = "Dist.aspx?statProducer="; str2 += document.all.txtHiddenStat.value;
    var distWindow;
    if (document.all.ddlWindows.value == "new") {
       distWindow = window.open(str2);
    }
    else {
        distWindow = window.open(str2, "PeriscopeView");
        distWindow.focus();
    }
    return false;

输入在“advSearch”TabPanel内的文本框中收集在此Ajax TabContainer中。单击搜索按钮会调用doValidate()JavaScript方法。上面的代码存在于该方法中。

<asp:ToolkitScriptManager ID="_toolkitScriptManager1" runat="server" EnablePageMethods="True">
</asp:ToolkitScriptManager>

<form id = "frmSearch" onsubmit="return(doValidate());" method="post" runat="server">
<asp:TabContainer ID="AdvOrBasicSearch" runat="server" ActiveTabIndex="0">
<div id="tabs_header">
    <span id="tab1" class="ajax_tab_active">
    <asp:TabPanel ID="basicSearch" runat="server" HeaderText="Basic Search">.../asp:TabPanel>                

    </span>
    <span id="tab2" class="ajax_tab_active">
    <asp:TabPanel ID="advSearch" runat="server" HeaderText="Advanced Search">...</asp:TabPanel>
    </span>
</div>
</asp:TabContainer>
</form>

现在Ajax TabContainers正在页面上使用,第二个窗口将打开,但它只是挂起/时间。

修改

以为我会添加到这篇文章中,因为我一直在逐步完成代码,试图找出问题所在。在该JavaScript块执行后,Visual Studio将在“返回false”代码行之后导航到包含以下标题的页面:

// Name:        MicrosoftAjax.debug.js
// Assembly:    AjaxControlToolkit
// Version:     4.1.60623.0
// FileVersion: 4.1.60623
// (c) 2010 CodePlex Foundation

这是程序挂起的地方。我大约需要5分钟来完成在这个页面上执行的代码,并且看起来几乎每个7000行代码中的每一行都会被调用。有没有办法让TabContainer跳过它在这里做的任何事情?

0 个答案:

没有答案