1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
contentUrls.DataSource = CreateDataSource();
contentUrls.DataTextField = "ContentTextField";
contentUrls.DataValueField = "ContentValueField";
contentUrls.DataBind();
}
}
ICollection CreateDataSource()
{
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("ContentTextField"));
dt.Columns.Add(new DataColumn("ContentValueField"));
//Ceci est un code qui va récupérer les nom des fichiers présents dans le dossier content. Il fonctionne parfaitement hors de ce contexte.
DirectoryInfo di = new DirectoryInfo(Server.MapPath("../content"));
FileInfo[] rgFiles = di.GetFiles("*_content.html");
foreach (FileInfo fi in rgFiles)
{
dt.Rows.Add(CreateRow(fi.Name, fi.Name, dt));
}
//Tout de même, au cas ou un problème intervienne ci dessus, j'ajoute une ligne en dur.
dt.Rows.Add(CreateRow("test", "test", dt));
DataView dv = new DataView(dt);
return dv;
}
DataRow CreateRow(String Text, String Value, DataTable dt)
{
DataRow dr = dt.NewRow();
dr[0] = Text;
dr[1] = Value;
return dr;
} |