Wie setze ich das deaktivierte Attribut auf das HTML-Textfeld in asp.net-mvc?

8

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?

    
leora 09.08.2010, 19:26
quelle

3 Antworten

16

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.

    
Robaticus 09.08.2010, 19:48
quelle
3

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

    
Cagatay Kalan 05.05.2013 22:22
quelle
1

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.

    
Dismissile 09.08.2010 19:31
quelle

Tags und Links