Évidemment, je suis un noob total et c'est simple pour certains d'entre vous, mais je ne peux pas comprendre pourquoi le reste du sous fonctionne, mais le button1.Text = "Uploading, Please Wait ..." semble être complètement ignoré.Pourquoi l'événement asp.net onclick ne modifie-t-il pas le texte du bouton lorsque l'utilisateur clique sur le bouton?
Le bouton est censé changer de texte lorsque vous cliquez dessus, mais aucune méthode que j'ai essayé ne fonctionne avec ma page.
Des idées? Voici ma page simple formulaire de téléchargement:
<%@ Page aspcompat=true %>
<% ' import all relevant namespaces %>
<%@ import namespace="System" %>
<%@ import namespace="System.Drawing" %>
<%@ import namespace="System.Drawing.Imaging" %>
<%@ import namespace="System.IO" %>
<html>
<head>
<title>Photo 1 Upload</title>
</head>
<body bgcolor="#000000">
<p>
<table align="center" bgcolor="white" cellpadding="5" cellspacing="2" border="2" width="">
<tr>
<td align="center" valign="middle" nowrap bgcolor="554aa1">
<font face="arial" color="white" size="5">
<b>Click the "Browse..." button to select your
<br>photo then click "Upload"</b>
<p>
</font>
<font face="arial" color="white" size="4">
Note: Image must be .jpg format and less than 4MB
</font>
</td>
</tr>
<tr>
<td align="center" valign="middle" bgcolor="#cccccc">
<form id="form1" runat="server">
<div>
<asp:FileUpload ID="FileUpload1" runat="server" /><br />
<br />
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Upload Photo" /> <br />
<br />
<asp:Label ID="Label1" runat="server"></asp:Label></div>
</form>
<p>
</td>
</tr>
</table>
</body>
</html>
<script runat="server">
Protected Sub Button1_Click(ByVal sender As Object,ByVal e As System.EventArgs)
button1.Text="Uploading, Please Wait..."
If FileUpload1.HasFile Then
Try
Dim Ext
Ext = Lcase(Right(FileUpload1.PostedFile.FileName, 3))
If Ext = "jpg" or Ext = "peg" Then
FileUpload1.SaveAs(Server.MapPath("..\" & Session("user_name") & "\photos\photo1_raw.jpg"))
response.redirect("done.asp?action=done&photo=1#photos")
Label1.Text = "File name: " & _
FileUpload1.PostedFile.FileName & "<br>" & _
"File Size: " & _
FileUpload1.PostedFile.ContentLength & " kb<br>" & _
"Content type: " & _
FileUpload1.PostedFile.ContentType
Else
Label1.Text = "ERROR: Nothing Saved - Photo must be a .jpg or .jpeg format."
end if
Catch ex As Exception
Label1.Text = "ERROR: " & ex.Message.ToString()
End Try
Else
Label1.Text = "You have not specified a file."
End If
End Sub
</script>
J'ai effectivement essayé d'ajouter javascript à ce bouton mais il est également ignoré sur ce type de bouton. – AmazingChase
La solution était très insaisissable, mais simple une fois que je l'ai compris. Vous venez d'ajouter OnClientClick = "this.value = 'Uploading, Please Wait ...'" au bouton. Ensuite, vous pouvez modifier le texte du bouton AVANT que le formulaire est soumis. J'espère que cela aide quelqu'un d'autre parce que j'ai perdu au moins 2 heures de ma vie là-dessus. :) – AmazingChase
@AmazingChase: Vous pouvez soumettre votre solution comme réponse à la question pour aider d'autres personnes ayant le même problème. – Isaac