0

これは、ページに 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;

入力は、この Ajax TabContainer 内の「advSearch」TabPanel 内のテキスト ボックスに収集されます。検索ボタンをクリックすると、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 がページで使用されるようになったので、2 番目のウィンドウが開きますが、ハングアップするかタイムアウトになります。

編集

コードをステップ実行して何が問題なのかを調べているので、この投稿に追加すると思いました。JavaScript のブロックが実行された後、Visual Studio はコードの "return false" 行の後に、次のヘッダーを持つページに移動します。

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

ここでプログラムが停止します。このページで実行されているコードを実行し始めて約 5 分で、7000 行以上のコードのほぼすべてが呼び出されるように見えます。ここで行っていることを TabContainer にスキップさせる方法はありますか?

4

0 に答える 0