Asp.net 如何将imageurl绑定到数据库中存储的imageId?
我上传了一个图像,并将其存储到asp.net中的一个文件夹中,并将其描述存储在数据库中。我的照片表包含以下列Asp.net 如何将imageurl绑定到数据库中存储的imageId?,asp.net,sql-server-2008,Asp.net,Sql Server 2008,我上传了一个图像,并将其存储到asp.net中的一个文件夹中,并将其描述存储在数据库中。我的照片表包含以下列 ProductPhoto Column Name Data Type Constraint PhotoID Int Primary key,auto increment PhotoName Varchar(100) ExtName Varchar(100) PhotoType Varchar(100) PhotoSize
ProductPhoto
Column Name Data Type Constraint
PhotoID Int Primary key,auto increment
PhotoName Varchar(100)
ExtName Varchar(100)
PhotoType Varchar(100)
PhotoSize Int
ProductID Int Foreign key with product info
并将图像存储在名为“upload”的文件夹中
在一个gridview中,我已经将所有列绑定到数据库,我在一个项目模板中拍摄了一个图像,并使用以下代码绑定了它的imageurl
<asp:GridView ID="gridview" AutoGenerateColumns="False" runat="server" style="margin-left: 0px" AllowPaging="True" AllowSorting="True" CellPadding="3" Height="238px" BackColor="#DEBA84" BorderColor="#DEBA84" BorderStyle="Solid" BorderWidth="1px" CellSpacing="2">
<Columns>
<asp:BoundField HeaderText="Photo ID" DataField="PhotoID" />
<asp:BoundField HeaderText="Photo Name" DataField="PhotoName" />
<asp:BoundField HeaderText="Extention Name" DataField="ExtName" />
<asp:BoundField HeaderText="Photo Type" DataField="PhotoType" />
<asp:BoundField HeaderText="Photo Size" DataField="PhotoSize" />
<asp:BoundField HeaderText="Product ID" DataField="ProductID" />
<asp:TemplateField HeaderText="Product Image">
<ItemTemplate>
<asp:Image ID="productimg" Height="108px" ImageUrl="~/upload/" Width="98px" runat="server"/>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Delete Record">
<ItemTemplate>
<asp:Button ID="delete" OnClientClick="return confirm('Are You Sure To Delete The Record?')" Text="Delete This Record" CommandName="del" CommandArgument='<%# Eval("PhotoID") %>' runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Edit Record">
<ItemTemplate>
<asp:Button ID="update" CommandName="upd" Text="Edit this Record" CommandArgument='<%# Eval("PhotoID") %>' runat="server" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
<FooterStyle BackColor="#F7DFB5" ForeColor="#8C4510" />
<HeaderStyle BackColor="#A55129" Font-Bold="True" ForeColor="White" />
<PagerStyle ForeColor="#8C4510" HorizontalAlign="Center" />
<RowStyle BackColor="#FFF7E7" ForeColor="#8C4510" />
<SelectedRowStyle BackColor="#738A9C" Font-Bold="True" ForeColor="White" />
<SortedAscendingCellStyle BackColor="#FFF1D4" />
<SortedAscendingHeaderStyle BackColor="#B95C30" />
<SortedDescendingCellStyle BackColor="#F1E5CE" />
<SortedDescendingHeaderStyle BackColor="#93451F" />
</asp:GridView>
}您能试一下下面的代码片段吗
ImageUrl='<%# "~/upload/" +Eval("PhotoName").ToString().Trim()+"." + Eval("ExtName").ToString().Trim() %>'
ImageUrl=''
或
ImageUrl=''
如果它不工作,请告诉我。图像url将
ImageUrl= '<%#"~/upload/" + Eval("PhotoID").ToString().Trim() + "." + Eval("ExtName").ToString().Trim() %>'
其中存储了ans ProductID,因此获得的图像URL如下
http://localhost:1033/upload/7.jpg
其中7是PhotoID服务器为图像创建的url是什么?我不知道如果您使用的是Chrome,请右键单击损坏的图像,然后单击“复制图像url”。谢谢,先生,您可以从链接中看到图像url,问题是“PhotoName”和“ExtName”字段没有绑定到您的数据。你能发布你的页面让我们理解吗?:)你能提供生成的URL和图像存在的实际URL吗?genrated URL只是页面名称和图像存在于文件夹中“~/upload/”文件夹存在于根目录或内部管理目录中?此外,也用下面的URL替换photoname和ExtName,并检查图像是否存在。让我们
ImageUrl= '<%#"~/upload/" + Eval("PhotoID").ToString().Trim() + "." + Eval("ExtName").ToString().Trim() %>'
int ans = new InsertAction().InsertData(prdctphoto);
if (ans != 0)
{
string path = Server.MapPath("~/upload/") + ans.ToString() + "." + prdctphoto.ExtName;
}
http://localhost:1033/upload/7.jpg