Nawalll
Messages postés10Date d'inscriptionvendredi 29 juin 2007StatutMembreDernière intervention 2 avril 2008
-
3 juil. 2007 à 11:11
Nawalll
Messages postés10Date d'inscriptionvendredi 29 juin 2007StatutMembreDernière intervention 2 avril 2008
-
4 juil. 2007 à 13:02
Bonsoir tout le monde
j'ai une classe c# qui recupère des informations à partir d'un formulaire, les stocke dans un Hashtable et puis utilise velocity pour afficher le contenu de ce Hashtable dans un tableau html:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using Commons.Collections;
using NVelocity;
using NVelocity.App;
using NVelocity.Context;
using System.IO;
namespace exemple_Hashtable
{
public class WebForm1 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.TextBox nomtxt;
protected System.Web.UI.WebControls.TextBox prenomtxt;
protected System.Web.UI.WebControls.Label Label1;
protected System.Web.UI.WebControls.Label Label2;
protected System.Web.UI.WebControls.Button ajouter;
protected System.Web.UI.WebControls.Button Liste;
protected System.Web.UI.WebControls.Label element;
static protected Hashtable listepersonnes=new Hashtable();
Personne person;
private void Page_Load(object sender, System.EventArgs e)
{
}
private void ajouter_Click(object sender, System.EventArgs e)
{
string nom=nomtxt.Text;
string prenom=prenomtxt.Text;
person=new Personne(nom,prenom);
listepersonnes.Add(person.getNom(),person);
nomtxt.Text="";
prenomtxt.Text="";
string message="ajouté "+listepersonnes.Count.ToString();
Page.RegisterStartupScript("msgErreur","<script>alert('"+message+"');</script>");
}
private void Liste_Click(object sender, System.EventArgs e)
{
try
{
VelocityEngine velocity = new VelocityEngine();
velocity.SetProperty(NVelocity.Runtime.RuntimeConstants_Fields.FILE_RESOURCE_LOADER_PATH,"C:/Inetpub/wwwroot/exemple_Hashtable/templates");
velocity.Init();
Template template = velocity.GetTemplate("template.vm");
VelocityContext context = new VelocityContext();
context.Put("liste",listepersonnes);
StringWriter writer = new StringWriter();
template.Merge(context, writer);
Console.Out.Write(writer);
element.Text=writer.GetStringBuilder().ToString();
}
catch(Exception ex){ }
}
}
}
et voici mon template:
<html>
Liste
----
Nom |
Prénom |
#foreach( $personne in $liste )
----
$personne.getNom(),
$personne.getPrenom(),
#end
</html>
Alors le pb c'est que toutes les cases de mon tableau contiennent : $personne.getNom()
J'ai l'impression que mon code ici n'est pas interpreté