2014-04-28 44 views
-1

在下面的代碼中,我有一個圖像,我想將圖像放在面板內但圖像需要整個頁面才能顯示,但我想在面板中顯示請幫助我做到這一點。在面板內顯示圖像

if (fileExt == ".jpeg" || fileExt == ".jpg") 
       { 
        Response.ContentType = "image/jpeg"; 
        docimg.ImageUrl = "C:\\Search\\" + strName + "\\" + strDocumentFolder + "\\" + Imgdocname; 

        docimg.Visible = true; 
        Response.WriteFile(docimg.ImageUrl); 
} 


<div ID="imgContainer" runat="server" style="width: 700px; height: 300px; overflow:auto; border: solid 1px black; 
        padding: 10px; margin-bottom: 5px;" > 
        <asp:Panel ID="imgPnl" runat="server"> 
     <asp:Image ID="docimg" runat="server" Width="100px" Height="100px"/></asp:Panel> 
+2

什麼問題/錯誤處理你看到了嗎?這段代碼什麼時候被調用? – christiandev

+0

@christiandev圖像正在顯示整個頁面,我想在面板中顯示。 – user3580909

回答

0

在代碼中,你是從一臺服務器C Drive物理路徑讀取圖像,並在整個反應加載圖像。

我會建議你做以下

  1. 將映像複製到你的Web應用程序目錄
  2. 只是分配新的相對URL

下面是對停放代碼

if (fileExt == ".jpeg" || fileExt == ".jpg") 
{ 
    string imagePath= "C:\\Search\\" + strName + "\\" + strDocumentFolder + "\\" + Imgdocname; 
    //Read image from location and save it in the web application 
    string savedTempPath="/temp/Imgdocname.jpeg"; 

    docimg.ImageUrl=Server.MapPath("~/temp/Imgdocname.jpeg"); 

} 

更好的方法

的更好的方法是使用一個處理器/單獨的頁面,爲您

ImageProcess.aspx

protected void Page_Load(object sender, EventArgs e) 
{ 

string imageName=Request.QueryString["fName"]; 
// then more logic on file extn etc 

if (fileExt == ".jpeg" || fileExt == ".jpg") 
{ 
    Response.ContentType = "image/jpeg"; 
    string file = "C:\\Search\\" + strName + "\\" + strDocumentFolder + "\\" + Imgdocname; 
    Response.WriteFile(file); 
} 

} 

在ASPX

<div ID="imgContainer" runat="server" > 
<asp:Panel ID="imgPnl" runat="server"> 

    <asp:Image ID="docimg" runat="server" 
    ImageUrl="~/ImageProcess.aspx?fName=test.jpeg" 
    Width="100px" Height="100px"/> 
    </asp:Panel> 
</div> 
+0

但是我有超過1000個C盤的圖像,所以我想從C盤訪問,如果我在網絡應用程序目錄中它將有足夠的空間容納 – user3580909

+0

@ user3580909,檢查更新的答案 –

+0

如何在面板內顯示 – user3580909