2010-11-19 35 views
6

Possiedo una classe di utilità per l'invio di e-mail. Le email sono generate come html.Codifica Html nella libreria di classi .NET

Ho problemi con la codifica di caratteri speciali che non vengono visualizzati correttamente.

Tuttavia, non riesco a capire come utilizzare HtmlEncode poiché non ho uno HttpContext corrente. Esiste una classe .Net che tradurrà caratteri speciali in codici html senza eseguire Asp.Net?

Spero che abbia senso, sono un po 'squilibrato su come funzionano tutte queste cose. Grazie!

risposta

10

È possibile importare lo spazio dei nomi System.Web e utilizzare la classe HttpUtility. Altohugh è un assemblaggio Web. Non credo sia necessario eseguirlo in un ambiente Web perché funzioni.

+0

Grazie, non sono sicuro del motivo per cui non l'ho trovato! – fearofawhackplanet

+9

L'aggiunta di una dipendenza su System.Web non è una grande idea per una libreria di classi. Utilizzare invece System.Net.WebUtility.HtmlEncode(). – saille

2

È possibile utilizzare la classe HttpUtility da System.Web.

2

Si consiglia di utilizzare la libreria AntiXSS dello WPL.

  1. È non è necessario System.Web!

  2. Utilizza un principio di inclusione in white-list (La codifica System.Web utilizza la lista nera). Solo i caratteri noti per essere sicuri verranno considerati attendibili e tutti gli altri saranno codificati correttamente

Problemi correlati