Ich versuche, das Erscheinungsbild der Kontrollkästchen in meiner ASP.NET MVC-Site anzupassen, indem ich eine Technik wie die hier beschriebene verwenden: Ссылка
Sie funktionieren großartig, außer wenn sie in ein Formular gestellt werden. Bei Verwendung der @ Html.CheckBoxFor () -Methode fügt MVC ein zusätzliches ausgeblendetes Kontrollkästchen hinzu, um sicherzustellen, dass ein Wert an das Formular POST gesendet wird, wenn das Kontrollkästchen nicht aktiviert ist: asp.net mvc: Warum erzeugt Html.CheckBox einen zusätzlichen versteckten Input
Wenn das zusätzliche ausgeblendete Kontrollkästchen im Formular ist, funktioniert mein benutzerdefiniertes Kontrollkästchen nicht. Ich klicke darauf, aber es wechselt nicht zwischen den Zuständen. Wenn ich das extra versteckte Kontrollkästchen entferne, dann funktioniert es, aber ich schätze, dass ich Probleme bekommen werde, den POST zu senden.
Hier ist der letzte HTML:
%Vor%Und hier ist das CSS, das ich benutze (benutzt scss)
%Vor%Irgendwelche Ideen?
Sie können dieses Problem lösen, indem Sie ein Ereignis verknüpfen, wenn das Kontrollkästchen aktiviert ist, um den Wert in einem verborgenen MVC-Feld zu ändern, und im Wesentlichen dasselbe tun, ohne den MVC-Helfer zu verwenden
%Vor%Hier ist Ihr HTML dann
%Vor%Verwenden Sie dann einfach jQuery, um die geprüfte Eigenschaft mit dem ausgeblendeten Feld zu verknüpfen
%Vor%Solange das verborgene MVC-Feld irgendwo ist, wird der Wert an den Controller gesendet. Es ist ein wenig mehr Arbeit, aber es sollte Ihnen das gewünschte Ergebnis bringen.
Tags und Links asp.net-mvc checkbox