Comment puis-je lancer un compte à rebours de 10 minutes et ensuite désactiver le bouton?

J'ai pris l'aide de :http://forum.codecall.net/topic/65434-c-working-with-timers/ (dans un compteur est décrémenté utilisé, mais il ne fonctionne pas dans mon application)

J'ai un certain champ de texte et deux boutons: présenter et mettre à jour.
J'ai mis en place un timer à partir de la barre d'outils à bouton de mise à jour.

Je voulais que ce minuteur de fonctionner pendant 10 minutes, puis désactivez le bouton mettre à jour. Mais, actuellement, il est en cours d'exécution pour seulement 2 minutes.

Code De Boutons:

<asp:Button ID="Btnsave" runat="server" CssClass="bt3dbuttons" 
    onclick="Btnsave_Click" OnClientClick="return confirm('Data Submitted')" 
    Text="Submit" Width="77px" />

<asp:Timer ID="Timer2" runat="server" ontick="Timer2_Tick">
</asp:Timer>
<asp:Button ID="Butnupdate" runat="server" CssClass="btupbuttons" 
    onclick="Btnupdate_Click" Text="Update" visible="false" Width="85px" />

Voici le code de la minuterie:

private System.Timers.Timer aTimer = new System.Timers.Timer(600000)
                                                { AutoReset = false };
protected void Timer2_Tick(object sender, EventArgs e)
{    
   aTimer = new System.Timers.Timer(600000);
   aTimer.Interval = 600000;
   double counter = aTimer.Interval;

   counter++;
   if (counter >= 600000)
   {    
       Butnupdate.Enabled = false;
       MessageBox.Show("Time Up!");
   }
}

Code pour le Bouton de mise à Jour:

protected void Btnupdate_Click(object sender, EventArgs e) 
{
string id = Id.Text.Trim();
string name = Name.Text;
string project = Project.Text;
string result = Total.Text;
using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["CM_Connection"].ConnectionString))
{
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
try
{
//lets check that the user typed the first number
if (Viva.Text.Length > 1)
{
VivaLabel.Text = "Please enter a valid number to add.";
return;
}
//lets check that the user typed the second number
else if (Presentation.Text.Length > 1)
{
PresentationLabel.Text = "Please enter a valid number to add.";
return;
}
else if (Confidence.Text.Length > 1)
{
ConfidenceLabel.Text = "Please enter a valid number to add.";
return;
}
else if (System.Text.Length > 1)
{
SystemLabel.Text = "Please enter a valid number to add.";
return;
}
//Now we have valid inputs
//Lets put them into integer values
int number1 = int.Parse(Viva.Text);
int number2 = int.Parse(Presentation.Text);
int number3 = int.Parse(Confidence.Text);
int number4 = int.Parse(System.Text);
//Now lets add the numbers
int total = number1 + number2 + number3 + number4;
//lets place it into the TextBox3
Total.Text = total.ToString();
// cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = @"UPDATE Result SET Name = @name, Project = @project, Result = @result WHERE ID = @id";
con.Open();
cmd.Parameters.AddWithValue("@id", Id.Text.ToString());
cmd.Parameters.AddWithValue("@name ", Name.Text.ToString());
cmd.Parameters.AddWithValue("@project ", Project.Text.ToString());
cmd.Parameters.AddWithValue("@result ", Total.Text.ToString());
cmd.ExecuteNonQuery();
}
catch (Exception ex1)
{
//Report error to user in the bottom Label
MessageBox.Show(ex1.Message);
}
}
}
  • Où avez-vous attribuer le gestionnaire d'événements pour votre minuterie? Ce qui déclenche Timer2_Tick? Je pense que vous avez besoin de nous montrer un peu plus de code.
  • Ce code n'a aucun sens logique pour moi
  • J'aimerais être d'accord avec @Jonesy sur celui-ci. Vous pouvez sauvegarder une étape et dites-nous ce que vous essayez de faire? Il semble que vous essayez d'avoir un persistante System.Timers.Timer en cours d'exécution sur le serveur Web, mais c'est difficile à dire.
  • Mischel sa ma première fois de travailler avec minuterie donc je n'ai pas la moindre idée. Je ne veux pas une persistance de la minuterie, mais ouais, il semble qu'elle obtient persistante comment les éviter
  • MessageBox.Afficher sur une application web? ai-je manqué quelque chose, êtes-vous d'hébergement de la page HTML dans une Application Windows?
  • ses une application web. Si ce n'est pas la bonne façon, alors comment faire pour afficher les messages d'alertes/notifications?
  • Vous pouvez utiliser un script pour afficher un message d'alerte lorsque la page de publication, ou montrent déjà un élément masqué....il y a donc plusieurs façons d'afficher un message sur une page web, C'est vraiment une autre question....

InformationsquelleAutor user2684131 | 2013-08-16