2016-12-14 4 views
0

Je suis en train de créer une application Web asp.net en C# à l'aide de Visual Studio.Les boîtes d'alerte de script Response.Write ne fonctionnent pas correctement dans les formulaires Web asp.net

Dans un ancien article, je posais des questions sur les boîtes de message contextuelles dans asp.net et on m'a dit que les formulaires Web ne les avaient pas. J'ai reçu une solution rapide en utilisant: Response.Write ("alert ('Hello world');") ;. Cela fonctionne assez bien lorsque vous l'utilisez une seule fois comme une confirmation de connexion lors de l'ouverture d'une nouvelle page. Le problème que j'ai est que j'ai un tas d'instructions if dans un événement de clic de bouton et seulement la première alerte de script fonctionne (if (poundRadBtn.Checked)). Est-ce que quelqu'un pourrait m'expliquer pourquoi les trois autres ne fonctionnent pas et s'il y a une solution ou une alternative? Merci d'avance!

protected void submitPayBtn_Click(object sender, EventArgs e) 
    { 
     if (poundRadBtn.Checked) 
      if (cardList.Text == "" || cardNameBox.Text == "" || cardBox1.Text == "" || cardBox2.Text == "" || cardBox3.Text == "" || cardBox4.Text == "" || expMonList.Text == "" || expYrList.Text == "" || billNameBox.Text == "" || billAdd1Box.Text == "" || billAdd2Box.Text == "" || billCtyBox.Text == "" || billPostBox.Text == "" || billCntryBox.Text == "") 
      { 
       Response.Write("<script>alert('Please ensure all fields have an entry');</script>"); 
      } 
     else if (usdolRadBtn.Checked) 
      if (cardList.Text == "" || cardNameBox.Text == "" || cardBox1.Text == "" || cardBox2.Text == "" || cardBox3.Text == "" || cardBox4.Text == "" || expMonList.Text == "" || expYrList.Text == "" || billNameBox.Text == "" || billAdd1Box.Text == "" || billAdd2Box.Text == "" || billCtyBox.Text == "" || billPostBox.Text == "" || billCntryBox.Text == "") 
      { 
       Response.Write("<script>alert('Please ensure all fields have an entry');</script>"); 
      } 
     else if (ozdolRadBtn.Checked) 
      if (cardList.Text == "" || cardNameBox.Text == "" || cardBox1.Text == "" || cardBox2.Text == "" || cardBox3.Text == "" || cardBox4.Text == "" || expMonList.Text == "" || expYrList.Text == "" || billNameBox.Text == "" || billAdd1Box.Text == "" || billAdd2Box.Text == "" || billCtyBox.Text == "" || billPostBox.Text == "" || billCntryBox.Text == "") 
      { 
       Response.Write("<script>alert('Please ensure all fields have an entry');</script>"); 
      } 
     else if (ozdolRadBtn.Checked) 
      if (cardList.Text == "" || cardNameBox.Text == "" || cardBox1.Text == "" || cardBox2.Text == "" || cardBox3.Text == "" || cardBox4.Text == "" || expMonList.Text == "" || expYrList.Text == "" || billNameBox.Text == "" || billAdd1Box.Text == "" || billAdd2Box.Text == "" || billCtyBox.Text == "" || billPostBox.Text == "" || billCntryBox.Text == "") 
      { 
       Response.Write("<script>alert('Please ensure all fields have an entry');</script>"); 
      } 
    } 
+0

Il ne semble pas y avoir de différence entre la première et d'autres. Avez-vous débogué pour vous assurer que les autres lignes de 'Response.Write' sont réellement touchées? – johna

+0

Les autres fichiers response.writes ne sont pas touchés. J'ai testé en ajoutant des étiquettes et en essayant de définir le texte. Je ne comprends pas, le code est copié et collé pour chaque bouton radio, donc si on travaille, pourquoi ne pas tous? – ACostea

+0

Si les autres fichiers response.writes ne sont pas b3eing hit, le problème doit être avec les lignes 'if'. Avez-vous parcouru chaque ligne pendant le débogage et vérifié les valeurs lors du débogage dans vos lignes if? – johna

Répondre

0

Le compilateur lira vos instructions else si imbriquées. Cela ressemblerait à ceci:

  if (poundRadBtn.Checked) 
       if (cardList.Text == "" || cardNameBox.Text == "" || cardBox1.Text == "" || cardBox2.Text == "" || cardBox3.Text == "" || cardBox4.Text == "" || expMonList.Text == "" || expYrList.Text == "" || billNameBox.Text == "" || billAdd1Box.Text == "" || billAdd2Box.Text == "" || billCtyBox.Text == "" || billPostBox.Text == "" || billCntryBox.Text == "") 
       { 
        Response.Write("<script>alert('Please ensure all fields have an entry');</script>"); 
       } 
       else if (usdolRadBtn.Checked) 
        if (cardList.Text == "" || cardNameBox.Text == "" || cardBox1.Text == "" || cardBox2.Text == "" || cardBox3.Text == "" || cardBox4.Text == "" || expMonList.Text == "" || expYrList.Text == "" || billNameBox.Text == "" || billAdd1Box.Text == "" || billAdd2Box.Text == "" || billCtyBox.Text == "" || billPostBox.Text == "" || billCntryBox.Text == "") 
        { 
         Response.Write("<script>alert('Please ensure all fields have an entry');</script>"); 
        } 
        else if (ozdolRadBtn.Checked) 
         if (cardList.Text == "" || cardNameBox.Text == "" || cardBox1.Text == "" || cardBox2.Text == "" || cardBox3.Text == "" || cardBox4.Text == "" || expMonList.Text == "" || expYrList.Text == "" || billNameBox.Text == "" || billAdd1Box.Text == "" || billAdd2Box.Text == "" || billCtyBox.Text == "" || billPostBox.Text == "" || billCntryBox.Text == "") 
         { 
          Response.Write("<script>alert('Please ensure all fields have an entry');</script>"); 
         } 
         else if (ozdolRadBtn.Checked) 
          if (cardList.Text == "" || cardNameBox.Text == "" || cardBox1.Text == "" || cardBox2.Text == "" || cardBox3.Text == "" || cardBox4.Text == "" || expMonList.Text == "" || expYrList.Text == "" || billNameBox.Text == "" || billAdd1Box.Text == "" || billAdd2Box.Text == "" || billCtyBox.Text == "" || billPostBox.Text == "" || billCntryBox.Text == "") 
          { 
           Response.Write("<script>alert('Please ensure all fields have an entry');</script>"); 
          } 

C'est pourquoi si le premier cas échoue, aucune autre instruction if n'est interceptée.

il Réécriture des déclarations vides d'autre est une façon de résoudre ce problème:

   if (poundRadBtn.Checked) 
       if (cardList.Text == "" || cardNameBox.Text == "" || cardBox1.Text == "" || cardBox2.Text == "" || 
        cardBox3.Text == "" || cardBox4.Text == "" || expMonList.Text == "" || expYrList.Text == "" || 
        billNameBox.Text == "" || billAdd1Box.Text == "" || billAdd2Box.Text == "" || 
        billCtyBox.Text == "" || billPostBox.Text == "" || billCntryBox.Text == "") 
       { 
        Response.Write("<script>alert('Please ensure all fields have an entry');</script>"); 
       } 
       else 
       { } 
      else if (usdolRadBtn.Checked) 
        if (cardList.Text == "" || cardNameBox.Text == "" || cardBox1.Text == "" || cardBox2.Text == "" || cardBox3.Text == "" || cardBox4.Text == "" || expMonList.Text == "" || expYrList.Text == "" || billNameBox.Text == "" || billAdd1Box.Text == "" || billAdd2Box.Text == "" || billCtyBox.Text == "" || billPostBox.Text == "" || billCntryBox.Text == "") 
        { 
         Response.Write("<script>alert('Please ensure all fields have an entry');</script>"); 
        } 
       else { } 
      else if (ozdolRadBtn.Checked) 
       if (cardList.Text == "" || cardNameBox.Text == "" || cardBox1.Text == "" || cardBox2.Text == "" || 
        cardBox3.Text == "" || cardBox4.Text == "" || expMonList.Text == "" || expYrList.Text == "" || 
        billNameBox.Text == "" || billAdd1Box.Text == "" || billAdd2Box.Text == "" || 
        billCtyBox.Text == "" || billPostBox.Text == "" || billCntryBox.Text == "") 
       { 
        Response.Write("<script>alert('Please ensure all fields have an entry');</script>"); 
       } 
       else 
       { } 
      else if (ozdolRadBtn.Checked) 
       if (cardList.Text == "" || cardNameBox.Text == "" || cardBox1.Text == "" || cardBox2.Text == "" || 
        cardBox3.Text == "" || cardBox4.Text == "" || expMonList.Text == "" || expYrList.Text == "" || 
        billNameBox.Text == "" || billAdd1Box.Text == "" || billAdd2Box.Text == "" || 
        billCtyBox.Text == "" || billPostBox.Text == "" || billCntryBox.Text == "") 
       { 
        Response.Write("<script>alert('Please ensure all fields have an entry');</script>"); 
       } 
       else 
       { } 
      }