2011-10-28 3 views
0

J'ai un bouton sur une page Web qui, lorsqu'on clique dessus, se connecte à mon serveur SQL et exécute une procédure stockée. Les boutons fonctionnent bien (il pousse simplement les données dans une table de base de données).événement asp.net onClick pour le bouton

Je suis novice en programmation .NET et j'ai du mal à trouver les bonnes idées de code à ajouter au code actuel pour le bouton que j'ai déjà. Idéalement, je voudrais juste avoir une boîte de message à apparaître lorsque le bouton est cliqué pour informer l'utilisateur que les «données ont été sauvegardées» avec juste l'option «OK» et pour que l'utilisateur soit ensuite redirigé vers la page d'accueil.

Je dois également m'assurer que ce bouton n'est enfoncé qu'une fois ou désactivé une fois qu'il a été pressé ce jour-là car je ne veux pas que l'utilisateur appuie plusieurs fois sur le bouton.

Voici mon code actuel pour le bouton:

Protected Sub btnAddRawData_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnAddRawData.Click 

    'database conn, this is linked to the web config file .AppSettings 
    Using dbconnection As New SqlConnection(ConfigurationManager.AppSettings("dbconnection")) 
     dbconnection.Open() 

     'command to state the stored procedure and the name of the stored procedure 
     Using dbcommand As SqlCommand = dbconnection.CreateCommand 
      With dbcommand 
       .CommandType = CommandType.StoredProcedure 
       .CommandText = "GasNominationsRawData_Insert" 

       'simply execute the query 
       dbcommand.ExecuteNonQuery() 

       'I need to add some code for the button here and... 

       'redirect to the main home page 
       Response.Redirect("~/default.aspx?") 

      End With 
     End Using 
    End Using 
End Sub 

Toutes les idées et suggestions seraient appréciés.

Cordialement, Betty.

Répondre

0
function success() 
{ 

alert('Your data has been saved successfully)'; 
window.location.href='Default.aspx'; 
} 

Le code derrière, juste après cette ligne:

dbcommand.ExecuteNonQuery() 

Faites ceci:

Dim cs As ClientScriptManager = Page.ClientScript 
Dim csname1 As [String] = "PopupScript" 
Dim cstype As Type = Me.[GetType]() 
Dim cstext1 As New StringBuilder() 
cstext1.Append("success();") 
cs.RegisterStartupScript(cstype, csname1, cstext1.ToString()) 
+0

window.location ne fonctionnera pas à moins que vous spécifiez le protocole. utilisez 'window.location.href =" default.aspx "' – Deeptechtons

+0

@Deeptechtons merci pour la correction! – Icarus

+0

Salut les gars, merci beaucoup pour ce qui précède. Cela fonctionne un régal. J'ai eu des problèmes avec la partie window.location.href du code mais je l'ai remplacé par 'Response.Redirect ("~/default.aspx?") Et cela fonctionne exactement de la même manière. – Betty

Questions connexes