Comment faire pour désactiver un bouton après le 1er clic
J'ai la suite de l'événement onclick d'un bouton. une fois que cet événement est ftonired je veux désactiver le bouton. Quelqu'un peut-il m'aider à comprendre comment le faire?
Voici le code que j'ai exécuter sur buttonclick événement.
protected void Button3_Click(object sender, EventArgs e)
{
if (Session["login"] != null && Session["db"] != null)
{
digit b = new digit();
String digitformed = b.formdigit(this.DropDownList1, this.TextBox1, this.TextBox2);
chekcount c = new chekcount();
int count = c.getmaxcountforjud_no(digitformed);
int addtocount = count + 1;
String name = Session["login"].ToString();
String databs = Session["db"].ToString();
String complex_name = name + databs;
if (DropDownList2.SelectedItem.Text != "New")
{
update u = new update();
u.update1(this.Editor1, digitformed, this.TextBox3, complex_name, name, this.DropDownList2);
Response.Write(@"<script language='javascript'>alert('Updated')</script>");
}
else
{
save d = new save();
d.dosave(this.Editor1, addtocount, digitformed, this.TextBox3, complex_name, name);
Response.Write(@"<script language='javascript'>alert('Saved')</script>");
}
}
else
{
Response.Redirect("log.aspx");
}
}
Ici, c'est le Bouton qui je veux désactiver.
<asp:Button ID="Button3" runat="server" Text="Save" onclick="Button3_Click"
Visible="False" />
Défini sur False à la propriété Enabled de bouton, cliquez sur gestionnaire.
pouvez-vous être clair quand vous voulez ce bouton pour être désactivés?client ou après la publication de serveur
pouvez-vous être clair quand vous voulez ce bouton pour être désactivés?client ou après la publication de serveur
OriginalL'auteur Ishan | 2011-12-12
Vous devez vous connecter pour publier un commentaire.
Avez-vous essayé?:
OriginalL'auteur Reniuz
Utiliser le OnClientClick et UseSubmitBehavior les propriétés du bouton de contrôle.
OnClientClick vous permet d'ajouter des clients côté OnClick script. Dans ce cas, le JavaScript permet de désactiver l'élément de bouton et changer sa valeur de texte d'un message de progression. Lorsque la publication est terminée, le rendu de la page sera de revenir sur le bouton de retour à son état initial, sans aucun travail supplémentaire.
L'un écueil qui vient avec la désactivation d'un bouton sur le côté client, c'est qu'il va annuler le navigateur soumettre, et donc de la publication. Réglage de la UseSubmitBehavior valeur false à la propriété raconte .NET pour injecter le nécessaire script client le feu à la publication de toute façon, au lieu de s'appuyer sur le navigateur de formulaire de soumission de comportement. Dans ce cas, le code qu'il injecte serait:
Ont rendu HTML:
Cela devrait vous donner le comportement souhaité.
À partir de: http://encosia.com/disable-a-button-control-during-postback/
Crédit: Dave Ward (Twitter: @Encosia)
OriginalL'auteur Prafulla
Vous devez définir la propriété Enabled de bouton dans le code côté serveur comme détaillé par d'autres affiches. Toutefois, si vous essayez d'empêcher plusieurs soumet à partir de la même bouton, vous aurez besoin d'un angle légèrement différent.
Ajouter une méthode à votre classe:
Dans Page_Load ajouter
OriginalL'auteur Dave
OriginalL'auteur Iman Abidi
Voir marqué code
OriginalL'auteur Shai
appel de cette onClientClick de bouton
OriginalL'auteur Neha
si vous voulez le faire en utilisant jquery que
cela fonctionne dans tous les navigateurs
OriginalL'auteur Pranay Rana
C'est un vieux post, mais je ne pense pas qu'il est été entièrement résolus.
Tout d'abord, dans ASP.NET WebForms, de vous soumettre un
HTTP GET
demande au serveur web qui traite votre demande et sorties côté client, le code HTML du navigateur à rendre.Comme vous êtes en interaction avec un serveur de contrôle, les valeurs sont contenues dans le caché
VIEWSTATE
champ de saisie pour les propriétés (telles que le booléen pourEnabled
).Lorsque vous cliquez sur un bouton, il envoie un
HTTP POST
demande au serveur web sur la même page. C'est pourquoi lePage_Load
événement est déclenché lorsque vous cliquez sur le bouton.Une fois le
HTTP POST
demande a été traité, il sera ensuite de retour à code HTML au navigateur de rendre à nouveau. Pour cette raison, si vous avez le code suivant dans votrePage_Load
événement:De ne pas afficher à l'utilisateur qu'il a été désactivé jusqu'à ce que le
HTTP POST
demande a été traitée et renvoyée à la mise à jour du code côté client.À partir de la question initiale, il est apparu que le serveur a été de prendre quelques secondes pour reprendre une réponse, donc de multiples événements de publication pourrait être déclenché lorsque vous cliquez sur le bouton plus et plus de nouveau.
Un simple (mais ennuyeux) pour résoudre votre problème serait d'avoir un régulier HTML
button
de l'exécution d'unefunction
en JavaScript qui désactive et déclenche l'événement onclick d'un contrôle côté serveur. Le problème avec ce serait alors que, lorsque leHTTP POST
requête retourne une réponse, il rendrait régulièrement HTMLbutton
comme étant activé. Pour résoudre ce problème, vous pouvez simplement désactiver JavaScript à l'aide en ligne ASP.NET code. Voici un exemple:.Fichier ASPX
.ASPX.CS Fichier
OriginalL'auteur Nathangrad
Pour les applications WPF
OriginalL'auteur Sridharan