課題の 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);
}
}