2012-11-24 10 views
14

Jak mogę wyłączyć lub włączyć przycisk w asp.net? Chcę wyłączyć przycisk po kliknięciu, aby zapobiec dwukrotnemu kliknięciu. Próbuję wyłączyć mój przycisk logowania po kliknięciu w niego.Jak wyłączyć Button asp.net

+0

nie jestem w stanie przycisk, aby wyłączyć. kiedy użytkownik wprowadza nazwę użytkownika i hasło i kliknij przycisk logowania w tym czasie przycisk nie jest wyłączony, a także chce go włączyć, gdy użytkownik nie mógł się zalogować. – Amol

+0

spójrz na [this] (http://jsfiddle.net/BrOSs/Mzhg2/) jsfiddle – BrOSs

+0

Po wpisaniu wartości do serwera, a następnie chcesz wyłączyć ten przycisk. Dobrze? –

Odpowiedz

13

Musisz go wyłączyć na kliencie, aby użytkownik nie mógł go ponownie kliknąć.

<asp:button id="btn" runat="server" OnClientClick="this.disabled=true;"...... 

Aby wyłączyć po stronie serwera kod asp.net.

btn.Enabled = false; 
+0

, jeśli użytkownik kliknie bez podania nazwy użytkownika i hasła, które ma wyłączyć. – Amol

+1

@adil, nawet jeśli zapisuje nazwę użytkownika i hasło, a następnie kliknij, a jeśli wyłączysz przycisk, nie będzie on publikował wartości na serwerze. –

+1

Czy możliwe jest postawienie nowego pytania na ten temat, ponieważ jest to całkowicie odmienne od OP – Adil

3

można użyć po stronie klienta onclick zdarzenie to zrobić:

yourButton.Attributes.Add("onclick", "this.disabled=true;"); 

lub

Można to zrobić z javascript. w tagu formularza,

onsubmit="javascript:this.getElementById("submitButton").disabled='true';" 

lub

W kodzie za plik można zrobić tak

button1.enabled = false 
+0

jeśli użytkownik kliknie bez podania nazwy użytkownika i hasła, to idzie, aby wyłączyć. – Amol

+0

@ Amol należy określić w swoim pytaniu. – TheOptimusPrimus

2

napisać funkcję java-script, który sprawdza nazwę użytkownika i hasło.
Jeśli nie są puste, wyłącz przycisk.
Ale jeśli wyłączysz przycisk i będzie odświeżenie. A po odesłaniu nadal będzie to możliwe.
Pomysłem jest

  1. Utwórz funkcję skryptu java.
  2. validate nazwę użytkownika i hasło
  3. jeśli są one ważne
  4. wyłączyć przycisk (JavaScript).
  5. Dodaj ClientIdMode = "Statyczny" do swojego <asp:button>, aby uniemożliwić .NET zniekształcanie nazwy.

--edit

<asp:button id="btn" runat="server" ClientIdMode="Static" OnClientClick="return btn_disable" ... 

Kod java-script

function btn_disable 
{ 
    //check for user name and password 
    // if filled 
    document.getElementById("btn").disabled=true; 

} 
+0

fajna próba, ale co z webformami bs robi z nazwą użytkownika? – Developerdeveloperdeveloper

+1

@Developerdeveloperdeveloper use clientIdMode = "Static" –