2009-06-25 17 views
4

Grüße, Ich habe ein Formular, wo Mitarbeiter Kommentare in einem mehrzeiligen Textfeld mit einer Grenze von 4000 Zeichen eingeben. Ich habe die Zeilen auf 8 gesetzt (offensichtlich eine beliebige Zahl).

Wenn ein Supervisor die Kommentare betrachtet, ist das Textfeld deaktiviert, sodass die Kommentare der Mitarbeiter nicht geändert werden können.

Das Problem ist, wenn die Daten unter Zeile 8 erstreckt. Da das Textfeld deaktiviert ist, kann die Bildlaufleiste nicht verschoben werden und der Supervisor kann nicht alle Kommentare anzeigen. Wenn ich die Textbox und die Databind zu einem Label für den Supervisor verberge, werden keine Zeilenumbrüche beibehalten und ein gut geschriebener Absatz wird zur größten Ausführung aller Sätze ...
Gibt es eine Möglichkeit, die Bildlaufleiste zu aktivieren und den Text deaktiviert zu lassen ?
Gibt es eine Möglichkeit, die Struktur des Eintrags im Etikett zu erhalten?ASP.net Textfeld scrollen, wenn deaktiviert

Antwort

3

Im Supervisor-Modus, fügen Sie den Text nicht in ein Textfeld ein, legen Sie ihn wie erwähnt in ein Etikett mit '.Replace ("\ n", "<br>") in Ihrem Code.

Alternativ können Sie das Textfeld anzeigen, ohne es zu deaktivieren, und deaktivieren Sie einfach die Schaltfläche "Speichern". Vermerken Sie auf der Seite, dass "hier vorgenommene Änderungen nicht dauerhaft sind" oder etwas in diesem Sinne.

+0

Das Etikett/Replace arbeitete wie ein Charme ... Set Border = "Solid" Border = "1" und es fügt sich in die Seite ... Dank !!! –

0

Setzen Sie den Text in ein PRE-Tag und wenden Sie overflow:scroll darauf an.

Stellen Sie sicher, dass der Text zuerst unter Verwendung von Server.HtmlEncode entfernt wird.

16

Anstatt die Textbox zu deaktivieren, sollten Sie ReadOnly property auf True setzen. Dies hält die Bildlaufleisten funktionsfähig, erlaubt jedoch keine Änderung der Textbox.

txtComments.ReadOnly = true; 
2

Lassen Sie das Textfeld nur lesen und setzen Sie die Vordergrundfarbe auf denselben Grauton, der in deaktivierten Textfeldern verwendet wird.

<asp:TextBox ForeColor="#AFAFAF" ReadOnly="true" /> 
+0

gut beantwortet .. !! – BNN

Verwandte Themen