comment save html dans un champ de database

J'ai une page web d' éditeur minuscule où mes users peuvent utiliser cet éditeur et je sauve le HTML dans ma database.

J'ai des problèmes en enregistrant ce code HTML dans ma database. par exemple s'il y a un nom avec un "'" ou s'il y a d'autres caractères html "<,", ">" etc., mon code semble exploser sur l'insert.

Existe-t-il des bonnes pratiques pour prendre n'importe quel code html arbitraire et le faire persister complètement dans un champ db sans se soucier de caractères spécifiques.

Je me request si vous construisez la requête complète. Au lieu de cela, utilisez une requête paramétrée et cela devrait éliminer vos problèmes de données.

ssortingng 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(); 

insérez-vous en utilisant SqlParameter ? Si oui, vous ne devriez pas avoir de problèmes, vérifiez cela.

Vous pouvez simplement HtmlEncode datatables. Vous aurez un object HttpContext.Current.Server, donc dans le pseudo-code que vous feriez juste:

 Database.Save(HttpContext.Current.Server.HtmlEncode(myHtml)); 

et pour le récupérer:

 myHtml = HttpContext.Current.Server.HtmlDecode(DataBase.Load()); 

En lisant juste ceci – votre problème est-il réellement sur l'instruction d'insertion ou obtenez-vous un problème du server Web avant qu'il frappe jamais votre controller? En remarquant que vous avez étiqueté la question avec asp.net-mvc, vous devrez peut-être vous assurer que vous avez décoré votre méthode de controller avec l'atsortingbut [ValidateInput (false)].