Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 如何将imageurl绑定到数据库中存储的imageId?_Asp.net_Sql Server 2008 - Fatal编程技术网

Asp.net 如何将imageurl绑定到数据库中存储的imageId?

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

我上传了一个图像,并将其存储到asp.net中的一个文件夹中,并将其描述存储在数据库中。我的照片表包含以下列

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