Answered by:
External Image not displaying using Image URL path in Eval()

Question
-
User-1172851113 posted
I store image src in my database like ImageURL ='www.enetgroup.ca/banners/banner1.jpg'
This is my code
<td>
<img id="bannerURL" src='<%#Eval("ImageURL").ToString().Replace("\\","/")%>' alt="" border="0" class="img" runat="server"/>
</td>
</ItemTemplate>
When I check image location I have 'http://208.116.40.201/Partner/www.enetgroup.ca/banners/banner1.jpg'
It must be 'www.enetgroup.ca/banners/banner1.jpg'What's wrong in my code.
How to display correct external images?
Tuesday, May 17, 2016 8:20 PM
Answers
-
User36583972 posted
Hi garydon,
From your description, I have made a sample on my side. The following code in my project for your reference.
HTML:
<html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <div> <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" Height="217px" Width="223px"> <Columns> <asp:TemplateField HeaderText="ID" FooterStyle-HorizontalAlign="Center"> <ItemTemplate> <asp:Label ID="Label1" runat="server" Text='<%#Eval("ID").ToString().ToUpper() %>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="link" FooterStyle-HorizontalAlign="Center"> <ItemTemplate> <img id="bannerURL" src='<%#Eval("ImageUrl").ToString().Replace("\\","/")%>' alt="" border="0" class="img" runat="server"/> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView> </div> </form> </body> </html>
ASPX.CS:
protected void Page_Load(object sender, EventArgs e) { if(!IsPostBack) { bind(); } } private void bind() { DataTable tblDatas = new DataTable("Datas"); DataColumn dc = null; dc = tblDatas.Columns.Add("ID", Type.GetType("System.Int32")); dc.AutoIncrement = true;// dc.AutoIncrementSeed = 1;// dc.AutoIncrementStep = 1;// dc.AllowDBNull = false; dc = tblDatas.Columns.Add("Product", Type.GetType("System.String")); dc = tblDatas.Columns.Add("Version", Type.GetType("System.String")); dc = tblDatas.Columns.Add("ImageUrl", Type.GetType("System.String")); DataRow newRow; for (int i = 0; i < 1; i++) { newRow = tblDatas.NewRow(); newRow["Product"] = "Count" + i.ToString(); newRow["Version"] = "2.0"; newRow["ImageUrl"] = @"http://www.enetgroup.ca/banners/banner1.jpg"; tblDatas.Rows.Add(newRow); } ViewState["dt"] = tblDatas; GridView1.DataSource = tblDatas; GridView1.DataBind(); }
Best Regards,
Yohann Lu
- Marked as answer by Anonymous Thursday, October 7, 2021 12:00 AM
Wednesday, May 18, 2016 5:06 AM
All replies
-
User36583972 posted
Hi garydon,
From your description, I have made a sample on my side. The following code in my project for your reference.
HTML:
<html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <div> <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" Height="217px" Width="223px"> <Columns> <asp:TemplateField HeaderText="ID" FooterStyle-HorizontalAlign="Center"> <ItemTemplate> <asp:Label ID="Label1" runat="server" Text='<%#Eval("ID").ToString().ToUpper() %>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="link" FooterStyle-HorizontalAlign="Center"> <ItemTemplate> <img id="bannerURL" src='<%#Eval("ImageUrl").ToString().Replace("\\","/")%>' alt="" border="0" class="img" runat="server"/> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView> </div> </form> </body> </html>
ASPX.CS:
protected void Page_Load(object sender, EventArgs e) { if(!IsPostBack) { bind(); } } private void bind() { DataTable tblDatas = new DataTable("Datas"); DataColumn dc = null; dc = tblDatas.Columns.Add("ID", Type.GetType("System.Int32")); dc.AutoIncrement = true;// dc.AutoIncrementSeed = 1;// dc.AutoIncrementStep = 1;// dc.AllowDBNull = false; dc = tblDatas.Columns.Add("Product", Type.GetType("System.String")); dc = tblDatas.Columns.Add("Version", Type.GetType("System.String")); dc = tblDatas.Columns.Add("ImageUrl", Type.GetType("System.String")); DataRow newRow; for (int i = 0; i < 1; i++) { newRow = tblDatas.NewRow(); newRow["Product"] = "Count" + i.ToString(); newRow["Version"] = "2.0"; newRow["ImageUrl"] = @"http://www.enetgroup.ca/banners/banner1.jpg"; tblDatas.Rows.Add(newRow); } ViewState["dt"] = tblDatas; GridView1.DataSource = tblDatas; GridView1.DataBind(); }
Best Regards,
Yohann Lu
- Marked as answer by Anonymous Thursday, October 7, 2021 12:00 AM
Wednesday, May 18, 2016 5:06 AM -
User177399542 posted
Hi Garydon
Use like this:
<%#Page.ResolveUrl(Eval("ImageURL")).ToString().Replace("\\","/")%>
Wednesday, May 18, 2016 5:09 AM