با سلام
دنبال یه کنترل هستم که بشه عکسهای یک دیتابیس رو بصورت لیست (چند عکس در یک ردیف و قابل دیدن) نشون بدم.
از دایرکتوری می تونم منتها می خواهم عکسها از دیتابیس خونده بشه.
کنترلهای جدول منظورم نیست!!!
اگه راهنمایی کنید ممنون می شم.
Printable View
با سلام
دنبال یه کنترل هستم که بشه عکسهای یک دیتابیس رو بصورت لیست (چند عکس در یک ردیف و قابل دیدن) نشون بدم.
از دایرکتوری می تونم منتها می خواهم عکسها از دیتابیس خونده بشه.
کنترلهای جدول منظورم نیست!!!
اگه راهنمایی کنید ممنون می شم.
سلام دوست قدیمی
خوش میگذره؟
=====
کار ساده ای است، و به دو بخش مشخص تقسیم میشود.
- اول نشان دادن تصاویر از دیتابیس است.
برای حل این مشکل میتوانید از یک صفحه aspx و یا ashx و یا استفاده مستقیم از HttpHadler ها مشکلتان را حل کنید.
استفاده از خود صفحات aspx باعث کندی و عدم بازدهی میشود.
دو راه آخر هم عملاً با هم فرقی ندارند!
شما یک ashx به پروژه سایتتان اضافه کنید
project->add new item->generic handler
سپس میتوانید مثل معمول به این صفحه پارامتر ارسال کنید ...
sitename.com/page.ashx?param=value
مثلاً میتوانید id عددی تصویر در بانک را که primarykey است ارسال کنید.
بعد با کدی مثل این هم دیتا را در بافر خروجی میریزید:
یعنی دیگر به جای مسیر تصویر از این صفحه استفاده میکنید:کد:Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
Dim iparam As Integer
If (Not Integer.TryParse(context.Request.QueryString("param"), iparam)) OrElse (iparam <= 0) Then Return
Dim buffer() As Byte = Nothing
'reading of database...
'Connection... Command... iparam... buffer = ...
If (buffer Is Nothing) OrElse (buffer.Length <= 0) Then Return
context.Response.ContentType = "image/jpeg"
context.Response.OutputStream.Write(buffer, 0, buffer.Length)
End Sub
Public ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable
Get
Return True
End Get
End Property
- برای نمایش لیستی چندتا در یک سطر و ستون هم از کنترلر DataList استفاده میکنید.کد:<img src="page.ashx?param=114" />