Le rendu des Objets C# Html

Nous avons des tas de Domaine Entités qui doivent être rendus à un format html, ce qui montre leur détail dans une fenêtre pop-up.

Je serais heureux de faire quelque chose comme ceci:

Product product = new Product(...);
product.ToHtml();  //or: HtmlRenderer.Render(Product);

mais mon principal problème est de savoir comment faire ce genre de choses derrière.
J'ai 3 réponses différentes:

1. Rendu Par Le Code:

Je peux simplement écrire mon code pour le rendu Html à l'intérieur de la ToHtml Méthode (C#) - le problème, c'est que c'est trop statique. si vous souhaitez déplacer un peu la tête pour le moyen que vous devriez changement de code.
en outre, il est très difficile de lire Html indentation en C#.

2. À l'aide de XSL:

Fichiers XSL permet de gérer facilement le modèle Html et en utilisant XSLT je peux transformer un fichier XML à la bonne place des documents.
l'analyseur a déjà été écrit par quelqu'un d'autre (juste besoin d'apprendre la syntaxe)
** pour cela nous avons besoin que chaque objet peut sérialiser à Xml. et si l'objet a changé -> le Xml sera changé --> le xslt besoin d'être changé aussi
** ce sera aussi pour moi l'option pour indenter le code html facilement par exemple: l'ajout de capacités css et\ou de modifier la conception html

3. l'utilisation d'autres modèle de moteur:

Écrire mon propre C# -> Html Moteur de template, donc il va lire le modèle à partir d'un fichier (*.modèle) et insérez le droit de propriété dans le droit place du modèle à l'aide de la réflexion.
** dans cette solution, nous avons beaucoup de questions que nous pouvons penser, par exemple: comment la syntaxe devrait être comme?
est-ce ok?
%Name% %Description%
et comment nous pouvons gérer tableaux?
** on peut peut-être utiliser un moteur existant (en Braille ou T4-Templating)?

Que préférez-vous?
connaissez-vous un bon moteur?
pour l'instant, je préfère la deuxième solution, mais il va être très lent.

grâce

OriginalL'auteur rabashani | 2009-05-25