Вкладки FreeTextBox не сохраняются при обратной передаче - PullRequest
0 голосов
/ 29 января 2009

Мы используем FreeTextBox 3.1.6 в интрасети. Элемент управления появляется в проекте ASP.Net, построенном в Visual Studio 2008.

Когда клиенты вводят вкладки в текстовое поле, эти вкладки не сохраняются при обратной передаче. Скорее вкладки потеряны. Сохраняется другое форматирование текста, например полужирный, курсив или размер шрифта.

Даже если событие обратной передачи, которое происходит на веб-странице, ничего не сохраняет в базе данных, мы теряем вкладки. Согласно http://wiki.freetextbox.com/default.aspx/FreeTextBoxWiki.Installation JavaScript и XML, используемые FreeTextBox, хранятся в dll. Поэтому я не могу редактировать содержимое этих файлов.

Кто-нибудь сталкивался с этой проблемой с FreeTextBox? Если да, то как вы решили это?

Вот поведение, которое происходит. Введите текст с помощью вкладок в элементе управления FreeTextBox.

альтернативный текст http://img132.imageshack.us/img132/4826/ftb1postcz4.gif

Затем нажмите кнопку «Сохранить». Это командная кнопка, которая отправляет обратно страницу. В моем тестовом сценарии ничего не сохраняется и не загружается из базы данных. Элемент управления FreeTextBox строго отображает текст, который был опубликован. Я предполагаю, что механизм обработки, который находится во ViewState, но я не уверен в этом.

альтернативный текст http://img132.imageshack.us/img132/175/ftb2postbd6.gif

Как видите, все вкладки исчезли. Даже вкладки между словами исчезли. Спасибо за вашу помощь.

Ken

Ответы [ 4 ]

0 голосов
/ 30 января 2009

Я использовал свободное текстовое поле в некоторых моих предыдущих разработках, но оно имело некоторые особенности и не сработало бы в IE.

попробуйте перейти на FCKEditor или TinyMCE. они кажутся намного лучше, чем FTB. я выбрал FCK, и я думаю, что WordPress использует TinyMCE. попробуйте их, если есть возможность переключения редактора.

0 голосов
/ 29 января 2009
<FTB:FREETEXTBOX id="txtDocument" EnableHtmlMode="False" Width="100%" runat="server" AllowHtmlMode="True"
StripAllScripting="True" Height="400px" FormatHtmlTagsToXhtml="False"
AutoGenerateToolbarsFromString="true"
ToolbarLayout="ParagraphMenu, FontFacesMenu, FontSizesMenu, FontForeColorsMenu, FontForeColorPicker| Bold, Italic, Underline, Strikethrough; Superscript, Subscript, RemoveFormat| JustifyLeft, JustifyRight, JustifyCenter, JustifyFull; BulletedList, NumberedList, Indent, Outdent; CreateLink, Unlink, InsertImage, InsertRule| Cut, Copy, Paste; Undo, Redo, Print"
TabMode="InsertSpaces"
>

0 голосов
/ 30 января 2009

Я нашел ответ. У исходного программиста был код, который перехватывал содержимое текстового поля при его отправке. Этот код переформатировал текст для специальных символов валюты, таких как иена, евро и фунт.

Вот как выглядел код.

Dim hstrg As String = txtDocument.Text Dim f As New FreeTextBoxControls.Support.Formatter hstrg = f.HtmlToXhtml (hstrg)

Что исправило проблему, так это комментирование метода HtmlToXhtml (). Нам не нужно, чтобы содержимое было совместимо с Xhtml, поэтому этот вариант был для нас жизнеспособным.

0 голосов
/ 29 января 2009

Установка TabMode на «InsertSpaces» не решила это. Мой исходный код для создания экземпляра элемента управления ниже. Фотографии, которые я разместил, ранее не показывались. Посетите эти ссылки, чтобы увидеть их. http://img132.imageshack.us/img132/4826/ftb1postcz4.gif http://img132.imageshack.us/img132/175/ftb2postbd6.gif

...