2012-11-25 104 views
1

我几乎得到了一个web项目完成了任务,但我已经击中了一个警告框的形式绊脚石,拒绝弹出时调用。这项任务是为用户创建一个Web表单,以向个人网站提交个人信息。一旦他们填入所有的文本框并点击一个按钮进行注册,它将在后面的代码中调用函数registerMe,如下所示。一旦他们这样做了,这个想法是,该功能将首先检查以确保用户尚未在网站上注册,然后它会将文本框中的所有值填入Session对象(使用Candidate.curCandidate作为包装)。这个会话对象将被添加到应用程序状态数据中以保存它。这个alertbox为什么不显示?

现在,这是奇怪的事情。在下面的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); 
     } 
    } 

回答

0

尝试从successText删除\n,看看它是否工作。

如果你真的需要它,尝试加倍逃避它象下面这样:

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

+0

啊,弗里克。这工作。我可以发誓我以前用这种方式用alertboxes来使用换行符,但是啊。谢谢。 –

+0

如果消息字符串是在客户端创建的,它会起作用。但由于它是在服务器端创建的,因此您需要将其双重转义,否则,消息字符串将位于无效的新行上。 –

相关问题