1

課題の Web プロジェクトをほぼ完成させましたが、呼び出されたときにアラート ボックスが表示されないという障害にぶつかりました。課題は、ユーザーが Web サイトに個人情報を送信するための Web フォームを作成することです。すべてのテキスト ボックスに入力し、ボタンをクリックして登録すると、以下に示すように、コード ビハインドで関数 registerMe が呼び出されます。彼らがそれをしたら、関数は最初にユーザーがまだWebサイトに登録していないことを確認するためにチェックし、次にTextboxesからのすべての値をSessionオブジェクトに詰め込みます(Candidate.curCandidateを使用しています)ラッパーとして)。この Session オブジェクトは、アプリケーションの状態データに追加されて保存されます。

さて、ここに奇妙なことがあります。以下の if ステートメントでは、ステートメントが true の場合、すべての値がセッションに保存され、アプリケーションの状態データが必要に応じて保存されますが、アラート ボックスは表示されません。ただし、if ステートメントが false の場合、Alertbox が表示されます。したがって、何らかの形でこれらすべての値を読み書きすると、Alertbox のアクティブ化が妨げられていると推測していますが、その理由はわかりません。

    protected void registerMe(object sender, EventArgs e)
    {
        String successText;
        if (Candidate.curCandidate.appProperty == false)
        {
            Candidate.curCandidate.ssNumberProperty = socSec.Text;
            Candidate.curCandidate.emailAddressProperty = email.Text;
            Candidate.curCandidate.userIDProperty = userName0.Text;
            Candidate.curCandidate.passwordProperty = password0.Text;
            Candidate.curCandidate.dateOfBirthProperty = dateBirth.Text;
            Candidate.curCandidate.firstNameProperty = fName0.Text;
            Candidate.curCandidate.lastNameProperty = lName0.Text;
            Candidate.curCandidate.streetAddressProperty = strAdd0.Text;
            Candidate.curCandidate.cityProperty = city0.Text;
            Candidate.curCandidate.stateProperty = state0.Text;
            Candidate.curCandidate.positionProperty = jobs0.SelectedIndex;
            Candidate.curCandidate.applicationStatusProperty = appStatus0.Text;
            Candidate.curCandidate.appProperty = true;
            Application[Candidate.curCandidate.ssNumberProperty]=Candidate.curCandidate;

            successText = "Thank you. Candidate Information Added Successfully.\n" +
                "E-Mail Address You Entered will be used to notify you of any\n" +
                "updates for the position you applied for.";
            ClientScript.RegisterStartupScript(this.GetType(), "myalert",
                "alert('" + successText + "');", true);
        }
        else
        {
            successText = "Registration unsuccessful.";
            ClientScript.RegisterStartupScript(this.GetType(), "myalert",
                "alert('" + successText + "');", true);
        }
    }
4

1 に答える 1

2

から削除\nしてsuccessText、動作するかどうかを確認してください。

本当に必要な場合は、以下のように二重エスケープしてみてください。

successText = "... Successfully.\\n"

于 2012-11-25T07:48:13.020 に答える