MVC extra versteckte Checkbox in Formulare brechen benutzerdefinierte CSS-Checkbox

9

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?

    
kbmax 01.02.2013, 16:04
quelle

2 Antworten

2

Verwenden Sie Folgendes in Ihrem CSS. Sie möchten, dass alle Ihre Elemente geändert werden.

%Vor%

Hier ist die Geige

    
Amit 28.01.2015 23:29
quelle
1

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.

    
dgarbacz 13.08.2014 15:34
quelle

Tags und Links