2017-06-17 3 views
0

Ich verwende MVC hmtl Helper-Syntax für das Textfeld, d. H. @Html.TextBoxFor(m => m.Id). Ich habe ziemlich lange Form mit mehreren Textboxen, Radio-Buttons und Dropdown-Menüs.ASP.NET @ Html.TextBoxFor: Wie Wert Benutzer nicht verloren, der eingegeben wird, wenn Seite aktualisiert wird?

Problem ist, dass, wenn ich die Seite aktualisieren, die Werte in den Steuerelementen gefüllt gefüllt, d. H. Textfeld, Dropdown, Radio-Tasten gefüllt verloren.

Wie kann ich dies vermeiden und die ausgefüllten Werte des Formulars wiederherstellen, selbst wenn der Benutzer die Seite aktualisiert? Irgendeine andere Methode als Localstorage/Cookies etc.?

+1

Gibt es einen Grund, warum Sie nicht lokale oder Sitzungsspeicher verwenden kann? –

+0

Ich möchte nur herausfinden, ob es andere Möglichkeiten gibt, dies zu lösen. – maverick

+0

@sahil der Zustand der Seite muss gespeichert werden, einfach und einfach –

Antwort

0

Sie können Ihre jquery benutzerdefinierte Methode mit sessionStorage erstellen und Sie können es zu jquery.fn Objekt fügen Sie Ihre Formulardaten auch nach Aktualisierung der Seite zu halten

(function($){ 

    // To Load your form values from sessionStorage, and set sessionStorage when value is changed. 

    $.fn.keepValue = function(name) { 
    if(!name) { 
     name= ""; 
    } 
    return this.each(function() { 
     var $this = $(this); 
     var id = $this.attr('id'); 
     var storage_name = namespace + id; 
     var value; 

     // Store form changes in a cookie 
     $this.change(function() { 
     sessionStorage.setItem(storage_name, $this.val()); 
     }); 

     value = sessionStorage.getItem(id); 

     // Don't overwrite value if it's already exist 
     if(!$this.val()) { 
     $this.val(name + value); 
     } 
    }); 
    }; 
})(jQuery); 

$(document).ready(function(){ 
    $('#YourElementId').keepValue(); 
}); 
+0

Ich glaube Sitzung oder lokaler Speicher ist eine bessere Option zum Speichern von Formulardaten. Cookies werden bei jeder Anforderung in der Kopfzeile gesendet, daher sollten sie für kleinere Datengruppen wie Token reserviert werden. –

+0

Das OP erklärt eindeutig die Anforderung, dass die Lösung keine Cookies oder lokalen Speicher verwendet, obwohl es wahrscheinlich nicht möglich ist, den Zustand der Seite ohne lokalen Speicher oder Cookies zu speichern. –

+0

@Brian vielleicht OP kann Formulardaten mit Hilfe des Modells halten und kann mit anzeigen dieses modell in controller – hasan

Verwandte Themen