2010-10-15 8 views
7

Próbowaliśmy na kilka sposobów, aby utworzyć pole tekstowe, aby zaakceptować "enter", znak nowej linii itp. Ale wciąż napotykamy na te same problemy. Większość elementów sterujących "Zewnętrzna strona" pozwala użytkownikowi sformatować tekst według własnego uznania. Np. Dodaj kolor, czcionkę, tabelę itp. Jednak w przypadku większości stylowych stron internetowych nie chcemy pozwalać użytkownikowi na formatowanie tekstu w ten sposób.Pole tekstowe z "nową linią"

Ale nadal chcemy, aby wprowadzono "enter", więc wyłączamy większość funkcji (kolory, pogrubienie, tabela, wstawianie obrazu itp.). Ale wciąż mamy inny problem, skopiuj i wklej. Nierzadko zdarza się, że ludzie, którzy kopiują z MS Worda w polu tekstowym i wham, cały styl witryny jest okropny!

Dlatego włączam możliwość tworzenia własnego pola tekstowego, wielowierszowego (ASP.Net) i po prostu pozwalam na prawo do naciśnięcia "Enter" (< br />).

Jaki jest najlepszy sposób postępowania?

Czy są jakieś wskazówki, na które muszę uważać?

Dziękujemy!

+0

Możliwy duplikat [ASP.Net mający lineBreak z Multi-Line-TextBox do zapisywania w bazie danych] (http://stackoverflow.com/questions/4883613/asp-net-text-with-linebreak-z-multi-line-textbox-to-save-in-a-database) –

Odpowiedz

13

Ustaw tryb TextBoxMode.MultiLine

Albo w opóźnieniem kodu,

myTextBox.TextMode = TextBoxMode.MultiLine 

lub w znacznikach

<asp:TextBox TextMode="MultiLine" 

Gdy użytkownik wprowadza tekst w polu tekstowym, to przyjdzie wróć do ciebie z nowymi liniami jako \r\n. Jeśli chcesz, aby go wyświetlić właściwie do użytkownika, można użyć

myTextBox.Text.Replace(Environment.NewLine, "<br />") 
+0

Znam Multiline !! Ale nie akceptuje enter! Mam na myśli to, że kiedy użytkownik edytuje swój opis i zapisuje go, z powrotem w miejscu administratora, gdy chce tylko zobaczyć ten opis, jeśli użytkownik wciśnie klawisz enter, aby zrobić podział linii, nie zobaczy go! –

+2

@Simon Czy chodzi ci o zastąpienie wprowadzonych kluczy za pomocą wyświetlacza
? –

+0

Przepraszam, mój angielski nie jest naprawdę świetny! Zazwyczaj mówię po francusku i tłumaczę, co chcę w języku angielskim, prawdopodobnie kiedyś brzmi dziwnie !! –

1

Aby uniknąć tego problemu i umożliwić tagów HTML w kontroli TextBox trzeba zmienić ValidateRequest dyrektywy Page false. Można to zrobić tak jak w kodzie poniżej:

użycie ValidateRequest = "false"

+0

Yup dobry punkt. To było coś, co wcześniej wiedziałem. Ale dzięki za radę i za każdą inną osobę, która mogła zobaczyć ten post. –