0

画像のファイル名は、vendorID「200018hari」のように前に追加することで一意に保存されます。filename次の図は、が列に格納されているテーブルを示していますCmp_DocPath

ファイル名が列Cmp_DocPathに格納されているテーブル

VendorIDユーザーがドロップダウンリストからを選択したときに、サーバーフォルダー「D:\ Upload \ CommercialCertificates」から特定の画像を表示したいvendorID(画像にはドロップダウンリストを含む完全なフォームデザインは表示されません)。

フォームデザイン

インラインコードでこれを試しましたが、画像が表示されません。しかし、ユーザーがドロップダウンから他を選択した場合、これは役に立たないことを私は知っていますVendorID

C#のコードビハインドでどうすればいいですか?

 <asp:Image ID="Image1" runat="server" Height="400px" Width="400px" 
    ImageUrl ="AdminCompanyInfo.aspx?FileName=~/Upload/Commerical Certificates/200027mcp.png"/>
4

2 に答える 2

0

Cmp_DocPathに関連付けられている画像()を取得しようとしている場合はVendorID、を使用する必要がありますGeneric Handler。以下はのテクニックですGeneric Handler

  1. データベースGeneric Handlerから画像名を読み取ります
  2. その後、画像ファイルをバイナリ配列に読み込みます
  3. その後、リクエストに応じて配列を書き込みます。

それはうまくいくはずです。

于 2012-10-10T09:04:28.870 に答える
0

友達からのアドバイスを受けて、画像を物理パス「D:\ Upload」に保存するためのコードを変更し、アップロードした画像を「D:\ inetpub \wwwroot\」に保存します。最後に、IISで仮想ディレクトリを作成し、「D:\ inetpub \ wwwroot\Upload」を物理パスとして指定します。以下のC#コードは、仮想パスから画像を取得します。

      private void CallImage()
      {
       SqlConnection SqlCon = new SqlConnection(GetConnectionString());
       SqlCon.Open();
       string query = "SELECT FilePath FROM CompanyInfo 
              WHERE VendorID= '" + ddlVendorID.SelectedValue + "'";
       SqlCommand SqlCmd = new SqlCommand(query, SqlCon);
       SqlDataAdapter da = new SqlDataAdapter(SqlCmd);
       DataTable dt = new DataTable();
       da.Fill(dt);
       string ImageName = Convert.ToString(dt.Rows[0][0].ToString());
       Image1.ImageUrl = ("~\\Upload\\Commerical Certificates\\" + ImageName);
       SqlCon.Close();
     }
于 2012-11-12T05:11:51.563 に答える