我有一个带有用户输入文本的文本字段的表单。它们可以使用多行,输入粗体文本,带下划线的文本等,但文本在保存到SQL Server时没有保存任何格式,只保存文本。使用HTML保存文本的最佳方法是什么,当它被另一个用户查看并从Sql Server中提取时,HTML将被保存并保存格式?
实施例
你好
保
这将保存为
你好
保
你看不到它,但是文字周围有粗体和回车符号标签
答案 0 :(得分:1)
当从用户接收数据时,在服务器端代码上,使用HTML编码安全地存储数据:
var inputData = Server.HtmlEncode("<strong>some data input from user</strong>"); //insert your user input data variable here
然后在cshtml页面中显示数据时,解码数据以在用户输入时显示:
HttpUtility.HtmlDecode(saveUserDataFromDatabaseVariable);
所有这一切都假设您已将富文本编辑器插入输入字段。 CKEditor和TinyMCE都很好。
答案 1 :(得分:0)
您可以使用文本编辑器。看看CKEditor。它免费且易于使用:)
答案 2 :(得分:0)
您可以发布一些代码和更多详细信息吗?
我在CKEditor取得了很大的成功。它是可自定义的,其内容可以通过回发轻松保存到标准asp:TextBox
。
您正在使用的编辑器可能实际上并未更新您正在使用的输入/文本区域,它可能是克隆文本并在叠加层中绘制格式。您可以使用开发人员工具或javascript来检查输入或textarea元素的value
属性来验证这一点。如果通过AJAX或javascript保存,则代码可能使用textContent
或innerText
属性而不是innerHTML
。
答案 3 :(得分:0)
我使用了免费在线的richtexteditor dll。它给了我一个wiziwig框,用户可以在其中编辑文本。