2016-04-05 20 views
0

'u tıkladıktan sonra düğmeyi nasıl devre dışı bırakırım C#' da yeniyim. InsertItemTemplate içinde bir kayıt düğmem var. Java komut dosyasına ilk tıkladıktan sonra düğmeyi devre dışı bırakmak için aşağıdaki kodu kullandım ancak ilk tıklama için bile çalışmıyor bana yardımcı olun.javascript

<asp:ImageButton ID="imgbtnSave" runat="server" CommandName="Add" CausesValidation="true" OnClientClick="this.disabled='true';return true;" /> 
+0

bir olmak zorunda C# kodunuzdaki yöntem. Daha sonra aşağıdaki gibi düğmeyi devre dışı bırakmak için kodu eklersiniz: imgbtnSave.Enabled = false; –

+0

Yanıtınız için teşekkür ederiz. Birden fazla geri gönderimi durdurmak istiyorum – bhavya158

+1

@ B.ClayShannon OnClick atribute'u düşünüyorsunuz. OnClientClick esasen oraya koyduğunuz her şeyi alır ve ASP.NET'in onclick HTML özniteliğine ne eklediğine ekler. – ElGavilan

cevap

1

tarayıcıya DOM nesnesinin "özürlü" özelliğini değiştirerek, ama o tıklandığında düğmesi sunucuya geri bir yazı yapacak, böylece DOM herhangi bir değişiklik kaybolur.

Sunucu kodunuzda "Ekle" komutunu kullandığınız işlevde, InsertItemTemplate düğmesinden almanız ve "Etkin" özelliğini false olarak ayarlamanız gerekir; bu, denetimi sunucu tarafından devre dışı bırakır. Sayfayı, bunu önlemek için böyle bir şey bir istemci işlevini ihtiyaç ardından yeniden edilmemiştir yaparken birden tıklamaları önlemek istiyorsanız

: Ben "OnClientClick" değerini düşünmek

<asp:ImageButton ID="imgbtnSave" runat="server" CommandName="Add" CausesValidation="true" OnClientClick="return checkEnabled(this);" /> 

<!-- somewhere in your page --> 
<script> 
    function checkEnabled(item) 
    { 
     if(item.disabled != 'true') 
     { 
      item.disabled = 'true'; 
      return true; 
     } 

     return false; 
    } 
</script> 
+0

Çok teşekkür ederim .. Denedim ama iki kez kaydet düğmesine basarsam, işlev iki kez çağrılıyor. Nasıl durdurabilirim – bhavya158

+0

Her iki çözümü de karıştırın OnClientClick set OnClientClick = "if (this.disabled! = 'True') {this.disabled = 'true'; true döndürün;} else {return false;}" ve sunucu bölümü aynı – Gusman

+0

kalıyor Teşekkür ederim .. Liste görünümünden görüntü düğmesine erişmek için bu anahtar kelimeyi kullanarak işlevi aradım ancak çoklu geri yükleme izin veren OnClientClick = "checkEnabled (this)" – bhavya158