Vise billeder fra database
Jeg har en Tabel (Link_Tbl) hvor jeg indsætte billeder.Kolonner:
LinkID
LinkTitle
Href
Image
For at vise billedet har jeg følgende side:
Image.aspx
Dim type As String
type = "jpg"
Dim strTable As String = Request.QueryString("Tbl")
Dim strImageID As String = Request.QueryString("id")
Dim conn As String = System.Configuration.ConfigurationManager.AppSettings("WebCOnn")
MyConnection = New SqlConnection(conn)
Dim sSQL As String = "SELECT * FROM Link_Tbl Where LinkID=" & strImageID
MyCommand = New SqlCommand(sSQL, MyConnection)
Try
MyConnection.Open()
Dim myDataReader As SqlDataReader
myDataReader = MyCommand.ExecuteReader(CommandBehavior.CloseConnection)
Do While (myDataReader.Read())
Response.BinaryWrite(myDataReader.Item("Image"))
Loop
MyConnection.Close()
Catch SQLexc As SqlException
Response.Write(SQLexc.ToString)
End Try
Afhængig af hvor mange links brugeren har tilføjet bliver de loaded dynamisk på siden links.aspx:
Public Sub FillInfo()
MyTabel = New Table
MyDS = New DataSet
MyCommand = New SqlCommand
MySQL = "SELECT * from Link_Tbl;"
MyCommand.CommandText = MySQL
MyCommand.Connection = MyConnection
MyReader = MyCommand.ExecuteReader
While MyReader.Read
TblRow = New TableRow
TblCell = New TableCell
If Not IsDBNull(MyReader("Image")) Then TblCell.Text = "[Mit dynamiske billede]"
TblRow.Cells.Add(TblCell)
MyTabel.Rows.Add(TblRow)
TblRow = New TableRow
TblCell = New TableCell
If Not IsDBNull(MyReader("LinkTitle")) Then TblCell.Text = MyReader("LinkTitle")
TblRow.Cells.Add(TblCell)
MyTabel.Rows.Add(TblRow)
TblRow = New TableRow
TblCell = New TableCell
If Not IsDBNull(MyReader("Href")) Then TblCell.Text = _
"<a href='http://" + MyReader("Href") + "' Target='_blank'> " + MyReader("Href") + "</a>"
TblRow.Cells.Add(TblCell)
MyTabel.Rows.Add(TblRow)
End While
MyReader.Close()
'MyTabel.Attributes.Add("Border", 1)
PHInfo.Controls.Add(MyTabel)
MyConnection.Close()
End Sub
Hvis jeg bruger i frame virker det.
"<iframe src ='image.aspx?id=" & ImageID & "' height='100' frameborder='0'> </iframe>"
Men der er hverken kønt eller praktisk.
I min admin datagrid til gør jeg følgende for at vise billedet:
Dim img As System.Web.UI.WebControls.Image
If e.Item.ItemType = ListItemType.AlternatingItem Or e.Item.ItemType = ListItemType.Item Then
Dim myID As Label
myID = CType(e.Item.FindControl("LblID"), Label) 'DGLinks.DataKeys(e.Item.ItemIndex)
img = CType(e.Item.FindControl("imgimage"), System.Web.UI.WebControls.Image)
img.ImageUrl = "LinkDisplayed.aspx?id=" & myID.Text
'img.Width = Unit.Pixel(200)
img.Height = Unit.Pixel(100)
Dim mybutton As LinkButton
mybutton = CType(e.Item.FindControl("BtnDelete"), LinkButton)
mybutton.Attributes.Add("onClick", "return confirm('Are you sure you want to delete this? Click OK to delete or Cancel to keep.');")
End If
Jeg kunne godt tænkte mig at loade billedet dynamisk på lignende måde i min FillInfo() funktion.
Kan nogen hjælpe?