2012-02-24 9 views
-3

J'ai 8 zones de texte qui demandent aux utilisateurs de saisir les données. Après avoir confirmé leur saisie, ils vont cliquer sur soumettre des données et les conserver dans la base de données. Le processus fonctionne parfaitement mais je ne sais pas comment rediriger l'utilisateur vers la page suivante pour lui dire que les 'Dossiers sont ajoutés avec succès'. Ici, je colle l'extrait de code. J'espère que vous pouvez m'aider. Je vous remercie.Comment rediriger vers une autre page

protected void Button1_Click(object sender, EventArgs e) 
{ 
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings  ["Connection"].ConnectionString); 
    SqlCommand cmd = new SqlCommand("Insert into......"); 
cmd.CommandType = CommandType.Text; 
cmd.Parameters.AddWithValue("@name", Membership.GetUser().UserName); 
cmd.Parameters.AddWithValue("@bulan", Label1.Text); 
cmd.Parameters.AddWithValue("@ex1s", Label18.Text); 
cmd.Parameters.AddWithValue("@p1s", Label20.Text); 
cmd.Parameters.AddWithValue("@ex2s", Label2.Text); 
cmd.Parameters.AddWithValue("@p2s", Label21.Text); 
cmd.Parameters.AddWithValue("@ex3s", Label3.Text); 
cmd.Parameters.AddWithValue("@p3s", Label22.Text); 
cmd.Parameters.AddWithValue("@ex4s", Label4.Text); 
cmd.Parameters.AddWithValue("@p4s", Label23.Text); 
cmd.Parameters.AddWithValue("@ex5s", Label5.Text); 
cmd.Parameters.AddWithValue("@p5s", Label24.Text); 
cmd.Parameters.AddWithValue("@ex6s", Label6.Text); 
cmd.Parameters.AddWithValue("@p6s", Label25.Text); 
cmd.Parameters.AddWithValue("@ex7s", Label7.Text); 
cmd.Parameters.AddWithValue("@p7s", Label26.Text); 
cmd.Parameters.AddWithValue("@ex8s", Label8.Text);  
cmd.Parameters.AddWithValue("@p8s", Label27.Text); 
cmd.Parameters.AddWithValue("@totals", Label28.Text); 
conn.Open(); 
cmd.ExecuteNonQuery(); 
+1

Peut-être [ ''](http://msdn.microsoft.com/en -us/library/ie/fs0za4w6.aspx) est ce que vous cherchez. – Filburt

Répondre

1

Peut-être que vous pouvez utiliser if ... else ... par exemple:

int rowsAffected = cmd.ExecuteNonQuery(); 
     if (rowsAffected == 1) 
     { 
      //Success notification 
     } 
     else 
     { 
      //Error notification 
     } 
    } 
+0

Ouais, bon plan! – f2lollpll

3
Response.Redirect("nextPage.aspx"); 
0

Approche 1

Vous pourriez avoir un groupe qui serait caché, puis sur le bouton pourrait afficher le panneau, et définir le texte du panneau.

Cela devrait certainement fonctionner.

Approche 2

Une autre approche serait la voie HTML. Vous pouvez déclencher les éléments suivants:

Response.Redirect("MyPage.aspx?message=Records are successfully added"); 

Et puis gérer que dans votre fichier ASPX:

<p> 
<%= Request["message"] %> 
</p> 
+0

Bonjour Mathias. Merci pour votre réponse. Mais peut-on me dire où mettre le code? est-ce sous le buttonevent ou ailleurs? –

+0

La recherche ne nuit à personne. Mettez le Response.Redirect dans votre appel de bouton. Ensuite, les autres choses dans votre fichier ASPX. –

1

Vous avez quelques options. Par ordre de préférence:

  1. Modifier la sortie de la page qui est l'ajout d'enregistrements, pour montrer le message de réussite
  2. Une redirection côté serveur, en utilisant Server.Transfer()
  3. Adresser une redirection HTTP, en utilisant Response.Redirect()
1

Je vais terminer avec:

[...] 
conn.Close(); 
Response.Redirect("~/NewPage.aspx?msg=complete"); 

complétera votre code (il est important de fermer la connexion) le Response.Redirect enverra l'utilisateur à la page dans la méthode param.

sur les NewPage.aspx.cs Je vais alors attraper le paramètre url:

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!Page.IsPostBack) 
    { 
     if(Request.QueryString["msg"] != null) 
     { 
      litMsg.Text = "<div id='msgTxt' style='display:none;background-color:red;'>" + Request.QueryString["msg"] + "</div>"; 
     } 
    } 
} 

où litMsg est un contrôle littéral sur la page. Et pour pimenter un peu j'ai utilisé un peu JQuery sur le NewPage.aspx

<asp:Literal ID="litMsg" Text="" runat="server" /> 
<script type="text/javascript"> 
    try { 
     $("#msgTxt").fadeIn("slow"); 
    } catch (e) { 
    //it's probably not there 
    } 
</script> 

est plus logique? :)

+0

Salut @sjums. Pouvez-vous me dire comment faire cela étape par étape? –

+0

@WhoMe ajouté un peu plus de code pour vous :) – f2lollpll

Questions connexes