这是一个代码块,当页面没有任何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跳过它在这里做的任何事情?