aftab69
Aug 28th, 2005, 09:20 AM
Hi there! I am new to ASP.Net I am not able to display images in the Data Repeater control. It does display text but not the images. I have created a Folder named Images in the root directory and has all the images there. And the path of these images are in the database table named Employee and column name PicturePath. But the images still doesn't show, only the data(i.e the text).
The line of code that I've used for displaying pictures is:
<asp:Image height=100 width=100 Img scr='<%# Container.DataItem("PicturePath")%>' runat="server" ID = "Images"/>
Here, PicturePath is the column where the Path of the picture is stored.
The complete code is shown below:
<%@ Import Namespace="System.Data.OleDb" %>
<%@ Import Namespace="System.Data" %>
<HTML>
<HEAD>
<!— Chapter3/Repeater1.aspx —>
<script language="VB" runat="server" Debug="true">
Sub Page_Load(src As Object, e As EventArgs)
If Not IsPostBack
bindListControl
End If
End Sub
Sub bindListControl()
Dim myConn As OleDbConnection
Dim myOleDbAdapter As OleDbDataAdapter
Dim connStr, sqlStr As String
Dim myDataSet As New Dataset
connStr="Provider=Microsoft.Jet.OLEDB.4.0;" _
+ "Data Source=C:\Inetpub\wwwroot\WebApplication1\test.mdb"
sqlStr = "SELECT EmpID, Name, Tel, Address, PicturePath FROM Employee"
myConn= New OleDbConnection(connStr)
myConn.Open()
myOleDbAdapter =New OleDbDataAdapter(sqlStr,myConn)
myOleDbAdapter.Fill(myDataSet,"dtProducts")
repeater1.DataSource=myDataSet.Tables("dtProducts")
repeater1.DataBind()
End Sub
</script>
</HEAD>
<body>
<h2>Data Repeater Control</h2>
<asp:repeater id="repeater1" runat="server">
<ItemTemplate>
<table>
<tr>
<td>
<asp:Image height=100 width=100 Img scr='<%# Container.DataItem("PicturePath")%>' runat="server" ID = "Images"/>
</td>
</tr>
<td>
Emp ID: <i><b>
<%# Container.DataItem("EmpID")%>
</b></i>
<br>
Name: <i><b>
<%# Container.DataItem("Name")%>
</b></i>
<br>
Phone: <i><b>
<%# Container.DataItem("Tel")%>
</b></i></b>
<br>
Address: <i><b>
<%# Container.DataItem("Address")%>
</b></i></b>
<br>
<br>
<br>
</td>
</tr>
</ItemTemplate>
<HeaderTemplate>
</table>
</HeaderTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:repeater>
</body>
</HTML>
The line of code that I've used for displaying pictures is:
<asp:Image height=100 width=100 Img scr='<%# Container.DataItem("PicturePath")%>' runat="server" ID = "Images"/>
Here, PicturePath is the column where the Path of the picture is stored.
The complete code is shown below:
<%@ Import Namespace="System.Data.OleDb" %>
<%@ Import Namespace="System.Data" %>
<HTML>
<HEAD>
<!— Chapter3/Repeater1.aspx —>
<script language="VB" runat="server" Debug="true">
Sub Page_Load(src As Object, e As EventArgs)
If Not IsPostBack
bindListControl
End If
End Sub
Sub bindListControl()
Dim myConn As OleDbConnection
Dim myOleDbAdapter As OleDbDataAdapter
Dim connStr, sqlStr As String
Dim myDataSet As New Dataset
connStr="Provider=Microsoft.Jet.OLEDB.4.0;" _
+ "Data Source=C:\Inetpub\wwwroot\WebApplication1\test.mdb"
sqlStr = "SELECT EmpID, Name, Tel, Address, PicturePath FROM Employee"
myConn= New OleDbConnection(connStr)
myConn.Open()
myOleDbAdapter =New OleDbDataAdapter(sqlStr,myConn)
myOleDbAdapter.Fill(myDataSet,"dtProducts")
repeater1.DataSource=myDataSet.Tables("dtProducts")
repeater1.DataBind()
End Sub
</script>
</HEAD>
<body>
<h2>Data Repeater Control</h2>
<asp:repeater id="repeater1" runat="server">
<ItemTemplate>
<table>
<tr>
<td>
<asp:Image height=100 width=100 Img scr='<%# Container.DataItem("PicturePath")%>' runat="server" ID = "Images"/>
</td>
</tr>
<td>
Emp ID: <i><b>
<%# Container.DataItem("EmpID")%>
</b></i>
<br>
Name: <i><b>
<%# Container.DataItem("Name")%>
</b></i>
<br>
Phone: <i><b>
<%# Container.DataItem("Tel")%>
</b></i></b>
<br>
Address: <i><b>
<%# Container.DataItem("Address")%>
</b></i></b>
<br>
<br>
<br>
</td>
</tr>
</ItemTemplate>
<HeaderTemplate>
</table>
</HeaderTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:repeater>
</body>
</HTML>