0

私はから asp.netに を取得することimageに取り組んでおり、はディレクトリを読み取り、ファイルに を取り込みます。これはC#で行う必要があります。現時点では、それがどのように行われるかについて大まかな考えがありますが、画像が表示されていません:pictureboxlist-boxlist-boxjpegs

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;  

更新:画像ファイル フォルダーが Web フォルダーの外側にあるようです。内側に移動してください。それ以外の方法で機能させる簡単な方法はありません。

于 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
          }
        }    
    }

次に、画像パスを次のように 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 に答える