簡體   English   中英

如何在asp.net的圖像查看器中查看列表框中的選定項目

[英]How to view selected item in listbox in image viewer asp.net

我有這段代碼可填充列表框,其中包含我在文本框中鍵入的內容。 我的問題是,由於我所有的文件都是圖像,因此如何在image viewer listbox查看所選項目? 我想念什么嗎?

這是我的代碼:

protected void Button1_Click(object sender, EventArgs e)
    {
        ListBox1.Items.Clear();
        string[] files = Directory.GetFiles(Server.MapPath("~/images"), "*.*", SearchOption.AllDirectories);


        foreach (string item in files)
        {
            string fileName = Path.GetFileName(item);
            if (fileName.ToLower().Contains(TextBox1.Text.ToLower()))
            {
                ListBox1.Items.Add(fileName);
            }

        }
    }

protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            DocumentImage.ImageUrl = Directory.GetDirectories("~/images") + ListBox1.SelectedItem.ToString();
        }

我認為這應該工作:

protected void Button1_Click(object sender, EventArgs e)
{
    ListBox1.Items.Clear();
    string[] files = Directory.GetFiles(Server.MapPath("~/images"), "*.*", SearchOption.AllDirectories);
    foreach (string item in files)
    {
        string fileName = Path.GetFileName(item);
        if (fileName.ToLower().Contains(TextBox1.Text.ToLower()))
        {
            string subPath = item.Substring(Server.MapPath("~/images").Length).Replace("\\","/");
            ListBox1.Items.Add(new ListItem(fileName, subPath));
        }
    }
}

在這一部分中,您不僅需要具有文件名,還需要找到文件的路徑。 在我的示例中,首先將找到文件的子路徑設置為subPath ,然后將其存儲為列表項的值。

protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
{
    DocumentImage.ImageUrl = "~/images" + ListBox1.SelectedItem.Value;
}

在這里,我們使用子路徑為圖像設置正確的url。

請注意,您需要在asxp頁面上的DocumentImage asxp AutoPostBack設置為true,以便在更改列表框中的選擇時更改圖像。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM