2010-03-03 5 views
1

J'ai une application C# qui doit stocker certaines informations dans MS SQL que serait plus tard envoyé à l'email avec DB Mail.Comment créer du texte HTML à partir d'une application C#?

Dans une application C#, j'ai une classe avec plusieurs propriétés et je dois l'utiliser pour générer du texte de courrier électronique. Donc, ce que je voudrais, c'est mettre en place un modèle avec des espaces réservés pour les variables. J'ai besoin de créer du texte en HTML et en texte brut.

  1. Quels sont les outils, les bibliothèques voulez-vous recommander pour HTML?

  2. Is String.Format() meilleure alternative à Travailler avec du texte brut?

Répondre

4

Je le fais dans d'autres applications en ayant la part disponible corps e-mail (liste SharePoint, tableau de données) déjà dans le format, mais avec des espaces réservés nommés, correspondant aux informations que vous avez dans votre application. Ensuite, l'envoi de l'e-mail signifie remplacer l'espace réservé par les bonnes informations. StringBuilder.Replace fonctionne très bien.

+0

Quel est l'avantage de stocker "Format String" dans la table de données au lieu de directement dans le programme C#? Si vous modifiez les espaces réservés, vous devrez également modifier C#. Ai-je tort? –

+1

Dites que vos données incluent «prénom», «nom de famille», etc. Dans un stockage externe, vous avez un modèle de courriel avec «bonjour% FirstName%, comment va la vie aujourd'hui?». Lors de l'exécution, vous remplacez% FirstName% par l'attribut 'first name' et vous envoyez le texte résultant. L'utilisateur devrait avoir un moyen de modifier les modèles sans vous demander de modifier l'application. Bien sûr, ajouter un nouvel espace réservé (par exemple, 'second prénom') nécessite une modification de l'application. – Timores

2

Je dirais que la chose la plus importante que vous devez décider est quand encoder le texte. Si vous envoyez un e-mail à un utilisateur, vous devez le faire avant de l'inclure dans un e-mail. Il est probablement correct de le stocker "tel que reçu" dans la base de données tant que chaque consommateur le code avant de l'utiliser. Je le fais généralement dans la couche de données qui "obtient" des données de la base de données.

+0

Ouais HtmlEncode est le chemin à parcourir - je l'utilise au niveau de la vue pour que je puisse manipuler le texte dans son format brut dans les couches inférieures (par exemple, les couches Business, Service) – Russell

Questions connexes