2014-02-26 5 views
15

Ich habe zwei verschiedene Möglichkeiten, ein GESPERRTTextBoxFor, zu verwenden, das ist:Was ist nur in einer deaktivierten TextBoxFor schreibgeschützt?

@Html.TextBoxFor(u => u.Visibilidade, new { disabled = "disabled", @readonly = "readonly" }) 

und

@Html.TextBoxFor(u => u.Visibilidade, new { disabled = "disabled" }) 

dh. Verwendung oder nicht Readonly Eigenschaft

Was ist der Unterschied, wenn man bedenkt, dass ein deaktiviertes Feld auf keinen Fall geändert wird?

Vielen Dank im Voraus

+0

möglich Duplikat [Was ist der Unterschied zwischen disabled = "disabled" und nur lesbar = "Nur-Lesen" für HTML-Formular Eingabefelder?] (Http://stackoverflow.com/questions/7730695/whats-the-difference -between-disabled-disabled-und-readonly-readonly-for-ht) – Shoe

Antwort

26

Normalerweise würden Sie das eine oder andere verwenden, die beide nicht.

Nur Benutzer können sich auf das Textfeld konzentrieren, um Text zu kopieren oder ein Ereignis auszulösen. Readonly Felder werden mit dem Formular gepostet.

Mit einem deaktivierten Feld können Benutzer den Fokus nicht auf das Textfeld legen und das Feld wird nicht mit dem Formular gepostet.

Welche Sie verwenden, hängt davon ab, was Sie mit dem Feld tun müssen.

Wenn Sie den Fokus aktivieren möchten, ihn aber nicht veröffentlichen möchten, können Sie ihn schreibgeschützt machen, die Eigenschaft name jedoch überschreiben.

@Html.TextBoxFor(u => u.Visibilidade, new { @readonly = "readonly", @Name = "" }) 
+0

Vielen Dank. Was, wenn ich möchte, dass der Benutzer sich auf das Textfeld konzentrieren kann, aber nicht möchte, dass sein Inhalt mit dem Formular gepostet wird? Das ist ein bisschen von beidem. –

+1

@FelipeAthayde, die einzige Sache, die ich mir vorstellen kann ist, das Feld nicht eine 'name' -Eigenschaft zuzuweisen. Siehe Aktualisierung. – Brandon

+0

Ich habe versucht, Readonly Feld wird nicht mit dem Formular gebucht werden. –