Ich versuche, das deaktivierte Attribut im HTML-Textfeld dynamisch festzulegen und Probleme zu haben
Ich habe das aus meiner Sicht versucht:
%Vor%Wie Sie sehen können, setze ich das deaktivierte Attribut auf "" oder deaktiviert, aber wenn ich es teste, scheint es in beiden Fällen deaktiviert zu sein. Fehle ich etwas?
Das war hässlich für uns, weil die HTML-Spezifikation hier mies ist.
Grundsätzlich hatten wir in unserem View-Code eine Logik wie folgt:
%Vor%Dann hatten wir für unsere Kontrollen folgendes:
%Vor%Anonyme Typen haben uns hier gerettet, aber, wie ich schon sagte, es wurde etwas hässlich.
Eigentlich ist es möglich, eine Extension-Klasse in den HtmlHelper zu schreiben, um dies zu tun, aber Sie müssen viele Überschreibungen implementieren, so dass die schnellste Lösung, die ich gefunden habe, eine Wörterbucherweiterung ist.
Sie können dafür die untere Klasse verwenden:
%Vor%Um es zu verwenden, importieren Sie die Klasse in Ihrer Ansicht und Ihr Ansichtscode sieht folgendermaßen aus:
%Vor%Sie können beliebig viele Attribute hinzufügen, da die Erweiterungsmethode den Wert zum Wörterbuch hinzufügt und das Wörterbuch selbst zurückgibt
Ich denke, Sie möchten das deaktivierte Attribut komplett weglassen, wenn Sie es aktivieren möchten. Ältere Browser würden das Folgende betrachten und die Textfelder deaktivieren:
%Vor%Mit anderen Worten, im älteren HTML war das="disabled" nicht notwendig. Aus Kompatibilitätsgründen sollten Sie das Attribut einfach weglassen, wenn Sie es richtig rendern möchten. Ich bin mir nicht sicher, was passiert, wenn Sie einen strengen DOCTYPE versuchen.
Tags und Links asp.net-mvc html textbox