الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشكله فى عرض الصور فى datalist من قاعدة بيانات sql

بدأه حمادة كدوانى في 23 ديسمبر 2010 · 1 رد · 691 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

موقع به صفحات تخزين الصور وصفحات لعرض التفاصيل (master/details ) التخزين يعمل معى ولكن عند الاسترجاع فى datalist لاتظهر الصوره

فى البدايه عملت صفحه لاسترجاع الصوره من قاعدة البيانات باسم image.aspx وبها الكود التالى

Imports System.Data
Imports System.Data.SqlClient
Partial Class PictureVB
Inherits System.Web.UI.Page

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
' check to see if querystring has anything 
If Request.QueryString("ForumId") IsNot Nothing Then
Dim ForumId As Integer = CType(Request.QueryString("ForumId"), Integer)
' select from db image 
Dim dt As New DataTable
Dim da As New DataAccess
Dim sqlda As New SqlDataAdapter("select* from forums where ForumId=" & ForumId, da.conn)
sqlda.Fill(dt)
If dt IsNot Nothing Then
Dim bytes() As Byte = CType(dt.Rows(0)("Data"), Byte())
Response.Buffer = True
Response.Charset = ""
Response.Cache.SetCacheability(HttpCacheability.NoCache)
Response.ContentType = dt.Rows(0)("ContentType").ToString()
'Response.AddHeader("content-disposition", "attachment;filename=nnn")
Response.BinaryWrite(bytes)
Response.Flush()
Response.End()
End If
End If
End Sub


End Class

وفى صفحة العرض بها datalist بعد تمرير querystring برقم العمود بقاعدة البيانات لم تظهر الصور فى الداتا ليست

كود صفحة العرض

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
da.getallforums()
DataList1.DataSource = da.getallforums
DataList1.DataBind()
End Sub

ال da كلاس ببه دالة الاسترجاع وكود الاتصال بالقاعده

Public Class DataAccess
Public dt As New DataTable
Public conn As New SqlConnection(ConfigurationManager.ConnectionStrings("TrafficConnectionString").ToString)
Public Sub opencon()
conn.Open()
End Sub
Public Sub closecon()
conn.Close()
End Sub
Public Function getallforums() As DataTable
Dim sqlda As New SqlDataAdapter("select * from forums", conn)
Dim dt As New DataTable
sqlda.Fill(dt)
Return dt
End Function

فى itemtemplate لل datalist قمت بوضع كنترول asp img لعرض الصوره وخاصية ال databind اخذت ال querystring لرقم االعمود بقاعدة البيانات

"Image.aspx?ForumId="+Eval("ForumId").ToString

ولكن الصورة لاتظهر ولا اعرف الخطا اين يوجد

#2

السلام عليكم

الطريقة المتبعة فى مثل هذة الأمور إستخدام HttpHandler , ويكون التالى هو منهج العمل :

<asp:DataList ID="DataList1" runat="server">
            <ItemTemplate>
                <asp:Image ID="Image1" ImageUrl='<%# Eval("ID","Handler.ashx?ID={0}") %>' runat="server" />
            </ItemTemplate>
        </asp:DataList>

وإذا أردت ان تكمل العمل بإستخدام صفحة aspx فهذا يرجع إليك ولكن الأفضل HttpHandler .

بعد ذلك , تأكد أن البيانات ترسل إلى الصفحة (أو HttpHandler) وأنت تسترجع الصور بالفعل . قم بعمل BreakPoint .

يسر الله لكم أمركم

Ahmed Moosa

Microsoft Community Contributor | MCC

Microsoft Certified Professional Developer | MCPD

Microsoft Certified Technology Specialist | MCTS

Senior .NET Developer

.Net Trainer

English blog : http://weblogs.asp.net/ahmedmoosa/

مدونة عربى : http://ahmedmoosa.wordpress.com/

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…