Jag har problem med ett bildvisningsscript:
Scriptet visar den första bilden i databasen men ingen av de andra.
Och trycker jag på bild 2 får jag se bild 1, Bild 3 blir 2 osv..
I min upload så skickar jag bilden till serven och url till Databasen.
Ser ut så här i browser:
<%@ Page Language="C#" debug="true" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Data.OleDb" %>
<script runat="server">
protected int imageIDCounter = 0;
//*****************************************************************
private void Page_Load(System.Object sender, System.EventArgs e)
{
if (!IsPostBack)
{
FillDataList();
}
}
//*****************************************************************
private void FillDataList()
{
//<- Databasanslutning ->
OleDbConnection myConnection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("the_db/gallery_db.mdb"));
string strSQL = "SELECT imageID, image_url, image_name, image_size FROM images ORDER BY imageID";
OleDbCommand myCommand = new OleDbCommand(strSQL, myConnection);
OleDbDataReader myReader;
try
{
myConnection.Open();
myReader = myCommand.ExecuteReader();
//myReader.Read();
ImageDataList.DataSource = myReader;
ImageDataList.DataBind();
myReader.Close();
myConnection.Close();
}
catch (Exception ex)
{
//Ev Felhantering
lblMessage.Text = ex.Message;
}
}
//******************************************************************
protected string GetImageName(string image_url)
{
string strFileNameOnly = System.IO.Path.GetFileName(image_url);
return strFileNameOnly;
}
//******************************************************************
protected string ImgSize(string image_size)
{
int img_size = Convert.ToInt32(image_size);
int kb = img_size / 1000;
return kb.ToString();
}
//******************************************************************
protected int GetImageID()
{
imageIDCounter++;
return imageIDCounter;
}
//******************************************************************
</script>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Bildgalleri</title>
<LINK href="style/myCSSstyle.css" type="text/css" rel="stylesheet">
<SCRIPT language="JavaScript" type="text/javascript">
<!--
function OpenPicture(ImageID)
{
window.open('bildspel.aspx?img_id=' + ImageID, 'BildGalleri', 'width=800,height=600,resizable=no');
}
// -->
</SCRIPT>
</head>
<body>
<form id="myForm" method="post" runat="server">
<div align="center">
<asp:label id="lblMessage" class="ErrorMessage" runat="server" />
</div>
<asp:datalist BorderWidth="0px" id="ImageDataList" runat="server" Width="700px" RepeatLayout="Table" RepeatDirection="Horizontal" RepeatColumns="6" GridLines="None" HorizontalAlign="center">
<HeaderTemplate>
<div align="left" class="headers">» Bilder</div>
</HeaderTemplate>
<ItemTemplate>
<br>
<TABLE cellSpacing="0" cellPadding="3" width="100%" border="0">
<TR>
<TD class="minitextmrk" align="left" width="100%">
<a onmouseover="this.style.cursor='pointer'" onmouseout="this.style.cursor=''" onclick="javascript:OpenPicture('<%#GetImageID()%>')">
<img align="left" src='thumbview.aspx?img_name=<%#GetImageName(DataBinder.Eval(Container.DataItem, "image_url").ToString())%>' alt='<%#DataBinder.Eval(Container.DataItem, "image_name")%>' class="images">
</a>
<br>(<asp:Label id="ImageSize" Runat="server" CssClass="litentextmrk" Text='<%#ImgSize(DataBinder.Eval(Container.DataItem, "image_size").ToString())%>'/>
kB)
<br>
</TD>
</TR>
</TABLE>
</ItemTemplate>
</asp:datalist>
</form>
</body>
</html>
