View Full Version : یک اسلایدر زیبا
korosh00
یک شنبه 17 آذر 1392, 15:35 عصر
113675
سلام من این اسلایدر را دارم می خوام به دیتابیس وصل بشه .
میشه داخلش از رپیتر استفاده کرد و به دیتابیس متصل بشه .
من نمونه ها دیگه دارم و تونستم همه را که با رپیتر بودند به دیتابیس وصل کنم ولی این یکی را نتونستم و اتفاقا همین مدل برام مهم است .
ممنون هستند دوستان راهنمایی بفرمایند .
korosh00
یک شنبه 17 آذر 1392, 15:54 عصر
113676
کل فایل را نشد آپلود کنم اون پست قبلی فایل اصلی است . فقط یک پوشه image هست که اینجا گذاشتم توی فایل diapo کپیش کنید .
korosh00
سه شنبه 19 آذر 1392, 04:20 صبح
لطفا دوستان راهنمایی کنند .
ashkan.890
سه شنبه 19 آذر 1392, 04:58 صبح
<div data-thumb="images/thumbs/megamind1048.jpg">
<img src="images/slides/megamind1048.jpg">
<div class="caption elemHover fromLeft">
This is a simple sliding image with caption. You can have more than one caption and decide the layout of the caption via css.
</div>
</div>
این div برای نمایش هر اسلاید
شما باید به جای اینکه ادرس رو مستقیم بدی از دیتا بیس بخونی
باید یه هندلر ایجاد کنی که اطلاعات رو از دیتا بیس بگیره و بده به تگ img
کار با هنلر رو بلدی ؟
korosh00
سه شنبه 19 آذر 1392, 06:10 صبح
نه متاسفانه . لطفا راهنمایی کنید .
ashkan.890
سه شنبه 19 آذر 1392, 07:01 صبح
اول از منوی Add item یک generic handler ادد کن تو برنامت
بعد از کدزیر استفاده کن
public class ImageSlider : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.Clear();
if (!String.IsNullOrEmpty(context.Request.QueryString["id"]))
{
int id = Int32.Parse(context.Request.QueryString["id"]);
Image image = GetImage(id);
context.Response.ContentType = "image/jpeg";
image.Save(context.Response.OutputStream, ImageFormat.Jpeg);
}
else
{
context.Response.ContentType = "text/html";
context.Response.Write("<p>Need a valid id</p>");
}
}
public bool IsReusable
{
get
{
return false;
}
}
private Image GetImage(int id)
{
MemoryStream memoryStream = new MemoryStream();
//Retrieve image from Database to a memeory stream.
// If you are using a different method, use it and assign
// the data to the 'memoryStream' variable.
string connectionString = "Data Source=(local);Initial Catalog=DB1;Integrated Security=True";
using (SqlConnection sqlConnection = new SqlConnection(connectionString))
{
using (SqlCommand sqlCommand = new SqlCommand("SELECT Img FROM Slider WHERE ID = " + id.ToString(), sqlConnection))
{
sqlConnection.Open();
SqlDataReader sqlDataReader = sqlCommand.ExecuteReader();
if (sqlDataReader.HasRows)
{
sqlDataReader.Read();
byte[] btImage = (byte[])sqlDataReader["Img"];
memoryStream = new MemoryStream(btImage, false);
}
}
sqlConnection.Close();
}
return Image.FromStream(memoryStream);
}
}
حالا به src تگ img اینطوری ادرس بده
src="handlerName.ashx?id=your image id"
ashkan.890
سه شنبه 19 آذر 1392, 07:02 صبح
اگه سوالی داشتی بازم بپرس
korosh00
سه شنبه 19 آذر 1392, 12:18 عصر
سلام
این کد را داخل همون handler بگذارم . یا قسمت کد صفحه اسلایدر ؟
من تو هر دو گذاشتم تست کردم عکس ها نیاورد نمایش بده !
korosh00
سه شنبه 19 آذر 1392, 14:00 عصر
این خط را ارور می ده
byte[] btImage = (byte[])sqlDataReader["Img"];
ashkan.890
سه شنبه 19 آذر 1392, 14:43 عصر
جای img باید اسم فیلد عکستو بنویسی
byte[] btImage = (byte[])sqlDataReader["Img"];
آره باید تو هندلر بزاری
به تگ img آدرس دادی ؟؟
korosh00
سه شنبه 19 آذر 1392, 16:11 عصر
همه این کارا رو کردم . نشد که نشد ....
korosh00
سه شنبه 19 آذر 1392, 16:13 عصر
این کل کد صفحه من است :
using
System;
using
System.Web;
using
System.IO;
using
System.Drawing.Drawing2D;
using
System.Drawing.Imaging;
using
System.Data.OleDb;
using
System.Web.UI;
public
classHandler : IHttpHandler
{
publicvoid ProcessRequest(HttpContext context)
{
context.Response.Clear();
if (!String.IsNullOrEmpty(context.Request.QueryString["id"]))
{
int id = Int32.Parse(context.Request.QueryString["id"]);
Image image = GetImage(id);
context.Response.ContentType =
"image/jpeg";
image.Save(context.Response.OutputStream,
ImageFormat.Jpeg);
}
else
{
context.Response.ContentType =
"text/html";
context.Response.Write(
"<p>Need a valid id</p>");
}
}
publicbool IsReusable
{
get
{
returnfalse;
}
}
private Image GetImage(int id)
{
MemoryStream memoryStream = newMemoryStream();
//Retrieve image from Database to a memeory stream.
// If you are using a different method, use it and assign
// the data to the 'memoryStream' variable.
string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;User ID=admin;Data Source=|DataDirectory|\\site.mdb";
using (OleDbConnection con = newOleDbConnection(connectionString))
{
using (OleDbCommand sqlCommand = newOleDbCommand("SELECT aks1 FROM Slider WHERE ID = " + id.ToString(), con))
{
con.Open();
OleDbDataReader sqlDataReader = sqlCommand.ExecuteReader();
if (sqlDataReader.HasRows)
{
sqlDataReader.Read();
byte[] btImage = (byte[])sqlDataReader["aks1"];
memoryStream =
newMemoryStream(btImage, false);
}
}
con.Close();
}
return Image.FromStream(memoryStream);
}
}
korosh00
سه شنبه 19 آذر 1392, 16:17 عصر
این قسمت را هم ارور می ده من همه کلاسها را وارد کردم
روی image ارور میده
return Image.FromStream(memoryStream);
ashkan.890
سه شنبه 19 آذر 1392, 17:41 عصر
این قسمت را هم ارور می ده من همه کلاسها را وارد کردم
روی image ارور میده
return Image.FromStream(memoryStream);
از این کد استفاده کن و بزارش جای return Image.FromStream(memoryStream);
Image a = Image.FromStream(memoryStream);
Bitmap bmp = new Bitmap(memoryStream);
return bmp;
korosh00
چهارشنبه 20 آذر 1392, 07:20 صبح
نمیشه
اینم عکس ارورش
113778
ashkan.890
چهارشنبه 20 آذر 1392, 14:29 عصر
دیتا بیست اکسس ؟؟
من تاحالا با دیتا بیس اکسس کار نکردم
احتمال زیاد از کاننکشنت
چک کن درست باشه
korosh00
چهارشنبه 20 آذر 1392, 17:05 عصر
شما همین کد را با دیتابیس اس کیو ال می گذاری کار میکنه ؟
ashkan.890
چهارشنبه 20 آذر 1392, 17:16 عصر
بله
من 3 تا هندلر با همین کد ها دارم
Progman.ir
پنج شنبه 21 آذر 1392, 00:02 صبح
اگه خواستی من این کار رو بدون هندلر و ریپیتر و فقط با آرایه ها و SqlDataReader بهت بگم
ashkan.890
پنج شنبه 21 آذر 1392, 03:43 صبح
اگه خواستی من این کار رو بدون هندلر و ریپیتر و فقط با آرایه ها و SqlDataReader بهت بگم
ممنون میشم اگه بگید
korosh00
پنج شنبه 21 آذر 1392, 05:30 صبح
راستی اگر به اسلایدر بخوام عکسیاضافه کنم تو دیتابیس درخود اسلایدر که نمایش نمیده چون من باید بر اساس id خاص عکس را بگیرم !!!
src="handlerName.ashx?id=1"
مثلا این عکس 1 را نمایش میده
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.