2008-10-06 11 views

Antwort

70

Wenn ein Steuerelement disabled ist, kann es nicht bearbeitet werden und sein Inhalt ist ausgeschlossen, wenn das Formular übermittelt wird.

Wenn ein Steuerelement readonly ist, kann es nicht bearbeitet werden, aber sein Inhalt (falls vorhanden) ist immer noch in der Einreichung enthalten.

+15

Dies ist nicht unbedingt wahr ... auf der Version von .NET abhängig, wenn der Nur-Lese-Wert geändert wird, wird es auf den ursprünglichen Wert auf der Postbacks zurückkehren . Sie müssen etwas tun wie TextBox1.Attributes.Add ("readonly", "true"); um es zu umgehen. – mattruma

+6

Das sollte TextBox1.Attributes.Add ("readonly", "readonly") sein, aber ja, wenn Sie möchten, dass der Viewstatus funktioniert, dann können Sie weder ReadOnly noch Enabled verwenden. – Alf

+0

Danke für die Klarstellung Alf! – mattruma

6

Readonly wird das Textfeld nicht "ausgrauen" und wird den Wert weiterhin auf einem Postback übergeben.

4

Denken Sie darüber aus der Sicht des Browsers nach. Nur für Lesezwecke sendet der Browser ein Variablen/Wert-Paar. Für Behinderte wird es nicht.

Run dies, dann schauen Sie auf die URL, nachdem Sie einreichen getroffen:

<html> 
<form action=foo.html method=get> 
<input name=dis type=text disabled value="dis"> 
<input name=read type=text readonly value="read"> 
<input name=normal type=text value="normal"> 
<input type=submit> 
</form> 
</html> 
3

Read-only wird dem Benutzer erlauben, Text von ihm zu kopieren. Deaktiviert wird nicht.

+1

vielleicht auf 2008, auf 2013 können Sie die Werte von beiden kopieren –

1

Ich habe ein Kind aspx Formular, das eine Adresse sucht Serverseite. Die Werte von der Child-Aspx-Seite werden dann über Javascript-Client-Seite an die übergeordneten Textfelder zurückgegeben.

Obwohl Sie sehen, dass die Textfelder geändert wurden, können weder ReadOnly noch Enabled die Werte im übergeordneten Formular zurückgeben.

10

Ein anderes Verhalten ist, dass readonly = 'true' Kontrollen Ereignisse wie click, buton Enabled = False Steuerelemente nicht auslösen werden.

4

Read-only Textbox in Asp.net

<asp:TextBox ID="t" runat="server" Style="margin-left: 20px; margin-top: 24px;" 
Width="335px" Height="41px" ReadOnly="true"></asp:TextBox> 
Verwandte Themen