Problem z podwójnym kliknięciem ASP.Net
mały problem ze stroną ASP.net. Jeśli użytkownik kliknie dwukrotnie przycisk „Prześlij”, dwukrotnie napisze do bazy danych (tzn. Dwukrotnie wykona metodę „onclick” na przycisku obrazu)
Jak mogę to zrobić, aby użytkownik, który kliknie przycisk obrazu, tylko przycisk obrazu jest wyłączony?
Próbowałem:
<asp:ImageButton
runat="server"
ID="VerifyStepContinue"
ImageUrl=image src
ToolTip="Go"
TabIndex="98"
CausesValidation="true"
OnClick="methodName"
OnClientClick="this.disabled = true;" />
Ale ta właściwość OnClientClick całkowicie zatrzymuje wysyłanie strony! Jakaś pomoc?
Przepraszam, tak, mam kontrolki sprawdzania poprawności ... stąd ten problem.
Nad tym pracujemy, do tego momentu:
Kod ASP:
<asp:TextBox ID="hidToken" runat="server" Visible="False" Enabled="False"></asp:TextBox>
...
<asp:ImageButton runat="server" ID="InputStepContinue" Name="InputStepContinue" ImageUrl="imagesrc" ToolTip="Go" TabIndex="98" CausesValidation="true" OnClick="SubmitMethod" OnClientClick="document.getElementById('InputStepContinue').style.visibility='hidden';" />
Kod C #:
private Random
random = new Random();
protected void Page_Load(object sender, EventArgs e)
{
//Use a Token to make sure it has only been clicked once.
if (Page.IsPostBack)
{
if (double.Parse(hidToken.Text) == ((double)Session["NextToken"]))
{
InputMethod();
}
else
{
// double click
}
}
double next = random.Next();
hidToken.Text = next + "";
Session["NextToken"] = next;
Właściwie ... to prawie działa. Problem z podwójnym kliknięciem jest naprawiony (yay!) Obraz nadal nie jest ukryty.