3

これは私を当惑させました。私は多くの機能を実行する Web アプリを持っていますが、爆撃しているのは、Web サービスを呼び出して DB2 から結果を返す検索機能を実行するときです。

奇妙なことは、エラーが常に発生するとは限らず、vip (ロード バランサー、2 つの IIS サーバーのラウンド ロビン) を介して Web アプリにアクセスするときにのみ発生するように見えることです。いずれかのサーバーの直接 URL を使用して Web アプリにアクセスすると、エラーは発生しません。

私のweb.configで何かを信じさせますか?

また、JavaScriptコードを検索しましたが、Lengthはどこにも使用していません。

助けてください、私はこれで壁に頭をぶつけていました。

コードで更新しました(以下に必要なコードを含め、残りは省略しました):

//Javascript***

関数 ValidateSearch() {

if (Page_ClientValidate("TransSearch") == true) {              
                ShowWait();
                return true;
            }
            else {
                return false;
            }

}

関数 ShowWait() {

    target = document.getElementById('progress');
    document.body.appendChild(target);
    spinner.spin(target);
//This calls spinner.js from github

}

関数 searchComplete() {

//clear previous search textboxes
document.getElementById('<%# txtEmail.ClientID %>').value = "";
    document.getElementById('<%# txtPhone.ClientID %>').value = "";

spinner.stop();

}

//マークアップ***

    <div class="searchlabel">
    <label>Email Address</label><asp:TextBox ID="txtEmail" runat="server"></asp:TextBox>
        <asp:RequiredFieldValidator runat="server" ID="EmailReq"  
                ControlToValidate="txtEmail"  ValidationGroup="TransSearch"
            Display="None"  
            ErrorMessage="<b>Required Field Missing</b><br />Email is required." />  
        <asp:ValidatorCalloutExtender runat="Server" ID="EmailReqE"  
            TargetControlID="EmailReq"  
            HighlightCssClass="validatorCalloutHighlight"  />
</div>
<div class="searchlabel">
        <label>Phone</label><asp:TextBox ID="txtPhone" runat="server" Font-Size="Medium"></asp:TextBox>
            <asp:RequiredFieldValidator runat="server" ID="PhnReq"  
                ControlToValidate="txtPhone"  ValidationGroup="TransSearch"
                Display="None"  
                ErrorMessage="<b>Required Field Missing</b><br />Phone is required." />  
            <asp:ValidatorCalloutExtender runat="Server" ID="PhnReqE"  
                TargetControlID="PhnReq"  
                HighlightCssClass="validatorCalloutHighlight" /> 
    </div> 
<asp:Button ID="btnSearch" runat="server" Text="Search" Width="90px" OnClientClick="return ValidateSearch();" OnClick="Search_Click" />

//分離コード***

public void Search_Click(オブジェクト送信者, EventArgs e) {

//passes search text to webservice
//fills gridview with returned data
//lastly calls javascript function to stop spinner
ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "searchComplete", "<script type='text/javascript'>searchComplete();</script>", false);

}

4

1 に答える 1

0

たぶん、あなたのJavaScript関数は、あなたが提供しているテキストボックスを取得していません.

document.getElementById('<%# txtEmail.ClientID %>').value

次を使用して値を確認します。

alert(document.getElementById('<%# txtEmail.ClientID %>').value ) 

値を返す場合。これがおそらくあなたの spinner.stop(); の理由です。動かない。

alert を使用して、関数に入っているかどうかを確認します。javascript で立ち往生するたびに使用します。関数がエラーを出している行を見つけるのに役立ちます。

于 2012-09-15T13:52:42.807 に答える