我想弄清楚的问题是:如何使用Visual Studio Project中的文件夹中的图像名称填充列表框?到目前为止我的代码:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
for (int i = 1; i < 8; i++)
{
ListBox1.Items.Add(System.IO.Path.GetFileNameWithoutExtension(""));
}
}
}
基本上,我在一个文件夹中有7个图像(在我的实际视觉工作室项目中),我希望for循环用图像的名称填充列表框,但没有扩展名。我似乎无法弄清楚如何使目录工作。如果有人能帮助我,我将非常感激。我遇到了麻烦。
在此之后,我想使用'if'语句根据用户在列表框中单击的项目来设置显示的图像,如果这是有意义的话。我不知道项目=某个项目的代码,我可以根据他们选择的内容显示图像。
我可能说这个非常糟糕,但这是我目前遇到的问题,非常感谢任何帮助,谢谢。
答案 0 :(得分:0)
您可以使用“Directory.GetFiles”mehtod从文件夹中获取文件。第一个参数是您的图像文件夹,第二个参数是过滤器。因此,您可以过滤所需的任何类型的文件。
示例:
string[] images = Directory.GetFiles(path/to/your/folder, "*.png");
foreach (string image in images)
{
ListBox1.Items.Add(System.IO.Path.GetFileNameWithoutExtension(image));
}
答案 1 :(得分:0)
protected void Page_Load(object sender, EventArgs e)
{
loadImages();
}
string[] files;
void loadImages()
{
files = Directory.GetFiles(Server.MapPath("~/images/"));
for (int i = 0; i < files.Length; i++)
ListBox1.Items.Add(System.IO.Path.GetFileNameWithoutExtension(files[i]));
ListBox1.AutoPostBack = true;
ListBox1.SelectedIndexChanged += ListBox1_SelectedIndexChanged;
}
void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
{
string extn = files[ListBox1.SelectedIndex];
extn = extn.Substring(extn.LastIndexOf('.'));
Image1.ImageUrl = "/images/" + ListBox1.SelectedItem.ToString() + extn;
}