2011-01-05 10 views
0

Ich habe eine Seite in Asp. NET, Anforderung ist sehr üblich, wenn das Formular für die Bearbeitung geöffnet ist, wenn ein Benutzer Wert eines der Feld auf der Seite ändert und auf Abbrechen klicken, dann muss der Code den Benutzer fragen, "Dort sind einige geänderte Werte, die Sie fortführen möchten. ". Bei Ja wird das Speichern verworfen. Auch wenn Benutzer keine Änderungen vornehmen, wird das Formular nicht angezeigt. Ich brauche es C#, wenn möglich.Wie identifiziert man den Feldwert in ASP.Net - C#?

Antwort

2

Das klingt wie etwas, das auf der Clientseite passieren sollte - keine Notwendigkeit für ASP.NET-Intervention hier.

Was ich tun würde, ist Change-Events für die Eingabefelder verdrahten. Wenn sich ein Feld geändert hat, legen Sie eine globale Variable fest.

dann auf Abbrechen Taste Onclick Ereignis, rufen Sie eine JavaScript-Funktion, wenn die Variable gesetzt ist, zeigt das Meldungsfeld.

1

Es sollte auf Client-Seite mit JS erfolgen. Ich verwende die folgende Methode:

  1. Fügen Sie ein benutzerdefiniertes Attribut zu einem Textfeld hinzu, z. Originalvalue = „myvalue“ (sollte dieser Wert gleich sein als Wert, der ein Textfeld auszufüllen verwendet, ist es nicht eine gute Praxis ist, aber es funktioniert)
  2. Überprüfen Sie alle Textfelder und den aktuellen Wert und „Originalvalue“ -Attribut vergleichen.
  3. Wenn diese Werte unterschiedlich sind, zeigen Sie eine Warnmeldung an.

So etwas wie dies (mit jQuery):

$("#mydiv input[type=text]).each(function() { 
    if($(this).val() != $(this).attr("originalval")) { 
     alert('modified'); 
    } 
}); 

Es gibt keine Notwendigkeit, es auf Server-Seite zu überprüfen.

Hoffe, das hilft ...

Verwandte Themen