0

我正在努力从 aimage进入pictureboxasp.net 上的 a list-boxlist-box读取一个目录,然后将其填充jpegs到文件中。这需要在 c# 中完成,目前我对它是如何完成的有一个粗略的想法,但我没有得到任何图片显示:

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

        if (!IsPostBack)
        {
          DirectoryInfo infoDir = new DirectoryInfo(@"G:/Test_Directory");            
          FileInfo[] infoFile = infoDir.GetFiles("*.jpeg");
          foreach( FileInfo file in infoFile )
          {
               lstDirectory.Items.Add(file.Name);
          }
        }    
    }

    protected void lstDirectory_SelectedIndexChanged(object sender, EventArgs e)
    { 
        Server.MapPath(lstDirectory.SelectedValue.ToString());
        imageChange.ImageUrl = lstDirectory.SelectedValue.ToString();            
    }
}

这可能是路径不正确的情况,或者可能是其他情况。有人可以指导我到哪里出错。

4

2 回答 2

1

您没有使用MapPath. 试试这个。

    var img = Server.MapPath(lstDirectory.SelectedValue.ToString());
    imageChange.ImageUrl = img;  

更新:您的图像文件文件夹似乎在网络文件夹之外,将其移到里面。没有简单的方法可以让它工作。

于 2012-10-31T12:45:14.877 回答
0

我建议你add New folder在你的解决方案中add all your images in to it...

protected void Page_Load(object sender, EventArgs e)
    {

        if (!IsPostBack)
        {
          DirectoryInfo infoDir = new DirectoryInfo(Server.MapPath("Images"));//this is the image foled name            
          FileInfo[] infoFile = infoDir.GetFiles("*.jpeg");
          foreach( FileInfo file in infoFile )
          {
               lstDirectory.Items.Add(file.Name,"Images/"+file.Name);
             //here you are setting relative path of images in your value field
          }
        }    
    }

然后将图像路径设置为 thr Server.MapPath 如下....

protected void lstDirectory_SelectedIndexChanged(object sender, EventArgs e)
    { 
        if(File.Exists(Server.MapPath(lstDirectory.SelectedValue.ToString())))
        {
          imageChange.ImageUrl =Server.MapPath(lstDirectory.SelectedValue.ToString());            
        }
    }
于 2012-10-31T13:01:30.260 回答