我希望在UI中将格式化文本转换为无格式文本。为此,我做了以下
String strInput;
String strOutput;
strInput = txtEditorAnswer.Text;
strOutput = Regex.Replace(strInput, "<[^>]*>", String.Empty).Trim();
txtEditorAnswer.Text = strOutput;
txtEditorAnswer.Text = Server.HtmlEncode(txtEditorAnswer.Text);
但是因为它也改变了数据库中的值,所以它为将来创造了一个问题。现在我需要在插入数据库后更改文本。 我该怎么办?
答案 0 :(得分:1)
您的用例不明确,但我会假设您在txtEditorAnswer
具有焦点时需要“已标记”文本,而在焦点移开时则需要“未标记”文本。
在这种情况下,您可以将属性附加到txtEditorAnswer
,我们称之为RawText
。
On Init:
var text = GetTextFromDatabase();
txtEditorAnswer.RawText = text;
txtEditorAnswer.Text = Regex.Replace(text, "<[^>]*>", String.Empty).Trim();
聚焦:
txtEditorAnswer.Text = txtEditorAnswer.RawText;
On LostFocus:
txtEditorAnswer.RawText = txtEditorAnswer.Text;
SaveToDatabase(txtEditorAnswer.RawText);
txtEditorAnswer.Text = Regex.Replace(txtEditorAnswer.Text, "<[^>]*>", String.Empty).Trim();
(视情况而定)。
或者,正如@Andomar指出的那样,您可以使用第二个控件作为输入txtEditorAnswer
的文本的“预览”。