2014-02-05 166 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>