我有一个tiny editor网页,我的用户可以使用此编辑器,我将html保存到我的数据库中。
我在将此html保存到我的数据库时遇到问题。例如,如果名称带有“'”或者是否有其他html字符“<,”,“>”等等,我的代码似乎在插入时爆炸。
是否有关于获取任意html的最佳实践,并将其完全保留到db字段而不必担心任何特定字符。
答案 0 :(得分:6)
我想知道您是否正在构建完整查询。而是使用参数化查询,这应该消除您的数据问题。
string sqlIns = "INSERT INTO table (name, information, other) VALUES (@name, @information, @other)";
SqlCommand cmdIns = new SqlCommand(sqlIns, db.Connection);
cmdIns.Parameters.Add("@name", info);
cmdIns.Parameters.Add("@information", info1);
cmdIns.Parameters.Add("@other", info2);
cmdIns.ExecuteNonQuery();
答案 1 :(得分:2)
使用SqlParameter
插入?如果是,你应该没有问题,检查一下。
答案 2 :(得分:0)
你可以只是HtmlEncode数据。 你将拥有一个HttpContext.Current.Server对象,所以在伪代码中你只需要这样做:
Database.Save(HttpContext.Current.Server.HtmlEncode(myHtml));
并检索它:
myHtml = HttpContext.Current.Server.HtmlDecode(DataBase.Load());
答案 3 :(得分:0)
只是通读这个 - 你的问题实际上是在insert语句中,还是在它遇到你的控制器之前从web服务器出现了问题?注意到您使用asp.net-mvc标记了问题,您可能需要确保使用[ValidateInput(false)]属性修饰了控制器方法。