dropdown liste fra lokalt drev

Tags:    .net

Jeg prøver at lave en dropdown box som skal "befolkes" af filer fra en mappe på et netværks drev, så brugere kan kopiere filer derind og så er de tilgængelige på hjemmesiden.

jeg bruger følgene kode i min code behind fil.

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;


public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
string dirpath = "C:\\Test\\";
DirectoryInfo dir = new DirectoryInfo(dirpath);
foreach (FileInfo files in dir.GetFiles())
{
DropDownList1.Items.Add(files.Name);
}

}

}

Men desvære er listen tom når jeg tester. Jeg har addet et par static entries, og når jeg klikker på et af dem dukker filerne op, et sæt filer for hvert klik så der kommer mere og mere i boksen.

Jeg vil bare have filerne til at være der fra starten af, hvad gør jeg forkert?



3 svar postet i denne tråd vises herunder
3 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
Hej Søren,

Med fare for at jeg misforstår hvad det er du gerne vil opnå, så skal du vel have noget kode i fx Page_Load der fylder din dropdown liste, i stedet for udelukkende i SelectedIndexChanged? Den event køres jo kun når du vælger en anden mulighed i dropdown listen :)

Mvh.

Kasper (TSW)



using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;


public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!isPostBack())
string dirpath = "C:\\Test\\";
DirectoryInfo dir = new DirectoryInfo(dirpath);
foreach (FileInfo files in dir.GetFiles())
{
DropDownList1.Items.Add(files.Name);
}


}
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
// Hvad du end ønsker der skal ske når man vælger filnavnet i drop down listen
}

}




Jeg ville loade listen når på Page_Load event. Derefter tilføje en button for opdatering af listen hvis der nu sker ændringer mens brugeren har page åbent.

Og ja, på button_click event husk DropDownList1.Items.Clear(); ellers får du et hav af samme entries.





t