2014-02-05 198 views
0

我不知道我在做什麼錯。我試圖在頁面上顯示圖像,它會顯示url但不顯示圖像。我試圖將它們作爲模板字段,也作爲圖像字段。藉助Firebug,我可以看到圖像源的價值。asp.net中的gridview中顯示圖像

aspx頁面:從螢火蟲的網頁

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="ImageID" DataSourceID="Images"> 
    <Columns> 
     <asp:BoundField DataField="ImageID" HeaderText="ImageID" InsertVisible="False" ReadOnly="True" SortExpression="ImageID" /> 
     <asp:BoundField DataField="InciID" HeaderText="InciID" SortExpression="InciID" /> 
     <asp:TemplateField HeaderText="Imagepath" SortExpression="Imagepath"> 
      <EditItemTemplate> 
       <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("Imagepath") %>'></asp:TextBox> 
      </EditItemTemplate> 
      <ItemTemplate> 
       <asp:image runat="server" ID="Label1" ImageUrl='<%# Bind("Imagepath") %>'></asp:image> 
      </ItemTemplate> 
     </asp:TemplateField> 
     <asp:BoundField DataField="ImageDescription" HeaderText="ImageDescription" SortExpression="ImageDescription" /> 
     <asp:BoundField DataField="Category" HeaderText="Category" SortExpression="Category" /> 
     <asp:ImageField DataImageUrlField="Imagepath"> 
      <ControlStyle Height="100px" Width="100px" /> 
     </asp:ImageField> 
    </Columns> 
</asp:GridView> 

的源代碼:

<td><img id="ctl00_ContentPlaceHolder1_GridView1_ctl15_Label1" src="images\curiouskids.jpg"></td> 
<td><img style="height:100px;width:100px;" src="images\curiouskids.jpg"></td> 
+0

您是否驗證過'images \ curiouskids.jpg'存在並且位於相對於您的頁面的正確路徑? – mason

+0

嘗試將此前置到圖像url「〜\」。像「〜\ images \ curiouskids.jpg」。 – Praveen

+0

@ msm&bball - 圖像確實退出。 @Praveen - 蒂爾達的作品,但斜線需要前鋒 – Nita

回答

2

您所有的斜線應該是正斜槓的網址。

images/curiouskids.jpg 
+0

感謝戴夫,把正斜槓做出了改變。然而,它只拉出了「圖像」文件夾中但不在C驅動器中的文件夾中的圖像。 – Nita

+0

有道理。圖像需要成爲網站的一部分,以便用戶可以訪問這些圖像。 –

+0

謝謝戴夫。我在我的另一個項目中使用了中繼器,在那裏我可以將路徑URL構建到存儲圖像的服務器。 – Nita

1

我同意Dave和Praveen。

斜槓需要正斜槓,你應該試着用〜/作爲前綴。

0

謝謝你們。我採納了您的建議,並將其修改爲以下代碼所寫的內容。現在我有一個100x100的縮略圖,下面有文本「放大視圖」,點擊它可以在新窗口中打開整個圖像。我在代碼中添加了tilda和前斜槓,並將其從上傳後的代碼中移除。

<asp:TemplateField> 
     <EditItemTemplate> 
      <asp:TextBox ID="TextBox2" runat="server" Text='<%# Eval("Imagepath") %>'></asp:TextBox> 
     </EditItemTemplate> 
     <ItemTemplate> 
      <asp:Image ID="Image1" runat="server" ImageUrl='<%# Eval("Imagepath", "~/images/{0}") %>' Width="150px" Height="150px" /><br /> 
      <asp:HyperLink ID="HyperLink1" runat="server" Text="Enlarged view" Target="_blank" NavigateUrl='<%# String.Format("~/images/{0}", Eval("Imagepath"))%>' /> 
     </ItemTemplate> 
</asp:TemplateField>