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

عندي سؤال في marquee وكمااااااااان استغراب

مغلق
بدأه dsw3 في 18 يوليو 2007 · 23 رد · 3,521 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

طبعا بعد جهد جهيد وبحث شديد في منتدانا الرئع arabteam2000 عن استخدام marquee حيث اجعلة يعرض بيانات حقل من قاعدة البيانات حيث عندما ينقر المستخدم على عنوان الرابط في marquee يأخذه الى صفحة ثانية

لكن المشكلة هي:

كيف لو اريد ان اجعل كل عنوان في marquee يذهب الى صفحة مختلفة

يعني عند النقر على قيمة اي حقل في شريط marquee يذهب بنا الى صفحة اخرى

الكود الي عملته يذهب بي الى صفحة واحدة كيف اعمله كود يذهب الى عده صغحات بناء على العنوان الظاهر


<HeaderTemplate >
<marquee id ="marq" scrollamount="2" scrolldelay="2" onmouseover="marq.stop()" onmouseout="marq.start()" width="752" height="17" bgcolor="Red" direction="down">
</HeaderTemplate>
<ItemTemplate >
<a href='Default2.aspx?id=<%#DataBinder.Eval(Container.DataItem, "st_name")%>'>
<%#DataBinder.Eval(Container.DataItem,"st_name")%></a>
</ItemTemplate>
<FooterTemplate >
</marquee>
</FooterTemplate>
</asp:Repeater>
<asp:Repeater ID="Repeater1" runat="server">

<اما الاستغرررررررررررراب

معقول ان شركة ما يكروسوفت العملاقة وبأصدارتها الجديدة 2005 ما اضافت لنا اداة تعمل عمل marquee ونقوم فقط بتحديد الخصائص من نافذه الخصائص بدل وجع القلب هذا من تنسيقات html

#2

اخى اتذكر اننى قبل حوالى سنتان كنت ابحث عن marqueeها كيفية عملها لكن لالاسف لاتوجد كنترول للقيام بذلك لكن بامكانك التحكم بخصائصها فى الhtml وعليك بالصبر

<marquee onmouseover=this.stop() onmouseout=this.start() direction="up"><a href="http://www.arabteam2000.com">منتديات الفريق العربي للبرمجة</a></marquee>

#3

هل marquee مدعوم في كل المتصفحات ؟

#4

marquee مدعوم في كل المتصفحات لانه من تنسيق HTML القياسي.

اما عن سؤال صاحب الموضوع فمرر عدة روابط ضمن بنية marquee كل رابط يشير الى صفحة معينة, كما حال الشريط في اعلى المنتدى او اي شريط اخباري تراه.

السلام عليكم

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#5

افترضوا مثلا معي حقل في قاعدة البيانات وكل قيمة في الحقل اريد عندما ينقر المستخدم عليها في شريط marquee تذهب بنا الى صفحة اخرى يعني كل قيمة في الحقل تفتح صفحة خاصة بها تتضمن مختلفة عن الصفحات الاخرى

يا ريت يكون ذلك بالكود

ومشكورين

#6

عندي امل اني اجد منكم الجواب الشافي لمشكلتي

#7

استخدام الـ marquee سهل جدا فهو مثله مثل اي تعليمه HTML وله خصائصه التي تتحكم فيه ولكن سؤالك لايزال غير واضح تماما , عموما اي شئ تضعه بين تعليمتي فتح واغلاق ال marquee سيتم عرضها بشكل متحرك سواء كانت صوره او كتابه او اي شئ وبنفس التنسيق الذي تختاره , لذلك وفي حالتك هذه ضع تعليمتي marquee خارج اداة Repeater

بمعنى اخر جرب هذا التعديل البسيط :

<marquee id ="marq" scrollamount="2" scrolldelay="2" onmouseover="marq.stop()" onmouseout="marq.start()" width="752" height="17" bgcolor="Red"  direction="down">  

<asp:Repeater ID="Repeater1" runat="server">
		<HeaderTemplate >
				</HeaderTemplate>
		<ItemTemplate >
		<a href='Default2.aspx?id=<%#DataBinder.Eval(Container.DataItem, "st_name")%>'> 
		<%#DataBinder.Eval(Container.DataItem,"st_name")%></a>
		</ItemTemplate>
		<FooterTemplate >
		 </FooterTemplate>
		</asp:Repeater>

</marquee>

ارجو ان يكون هذا الحل مفيدا او اذا امكن ان توضح سؤالك اكثر

تم تعديل هذه المشاركة بواسطة القرش1 في 20 يوليو 2007 في 20:02

#8

الاخ القرش1 شكرا لك لكني سأوضح لك السؤال الاكثر

يا اخي أريد البيانات التي ستمر داخل شريط المتحرك كل عنوان فيه يذهب بي الى صفحة مختلفة

الكود هذا

<a href='Default2.aspx?id=<%#DataBinder.Eval(Container.DataItem, "st_name")%>'>

عند النقر على محتويات الشريط ستذهب بي الى الصفحة Default2.aspx

لكني لا اريد ذلك اريد كل عنوان في الشريط المتحرك يذهب بي الى صفحة مختلفة

مثل الشريط المتحرك (البار) الموجود في هذا المنتدى عند النقر على عنوان فيه يذهب بنا الى صفحة اخرى

ان شاء الله تكون وضحت الفكرة

اتمنى ان اجد الاجابة الشافية وجزاكم الله الف خير

#9

اذا كانت كل الصفحات التي تريد عرضها ترسل لها نفس ال ID فالامر عادي جدا فقط اكتب كل الصفحات التي تريدها كالتالي :

		<ItemTemplate >
		<a href='Default1.aspx?id=<%#DataBinder.Eval(Container.DataItem, "st_name")%>'> 
		<a href='Default2.aspx?id=<%#DataBinder.Eval(Container.DataItem, "st_name")%>'> 
		<a href='Default3.aspx?id=<%#DataBinder.Eval(Container.DataItem, "st_name")%>'> 
		<a href='Default4.aspx?id=<%#DataBinder.Eval(Container.DataItem, "st_name")%>'> 
		   .
		   .
		   .
		<%#DataBinder.Eval(Container.DataItem,"st_name")%></a>
		</ItemTemplate>
#10

الف شكر اخي القرش1 وجزاك الله الف الف الف خير

لكن اذا كان كل الصفحات التي اريد عرضها لا ارسل لها نفس ال ID يعني id مختلف فما الامر اذن

وهل ممكن شرح لي بشئ مختصر فكره id هل هو باراميتر لاني اخذت الفكره لعمل البار المتحرك من المنتدى من خلال شرح الاعضاء جزاهم الله الف خير ولم افهم المعنى ال ID يعني هل يأخذ قيمة الحقل من قاعدة البيانات او ماذا ؟

#11

مثلما أخبرتك اخي الكريم بالنسبة لل marquee فهو تعليمة HTML عادية تقوم بتحريك اي شئ يكتب داخلها

بالنسبة للـ id فهو فعلا يمكن تشبيهه بالبارميتر الذي يرسل للصفحة ولكن ليس شرطا ان يكون اسمه id وانما حسب تعريفك له المهم انك تستقبله في الصفحة وتقوم بمعالجة الطلب بناء عليه

وفي مثالك فان الذي يحدث تحديدا انه يتم قراءة قيمة ال id من قاعدة البيانات ثم يتم بناء رابط HTML عادي لاستدعاء الصفحة مع اختلاف id انظر المثال التالي :

<a href='Default2.aspx?id=<%#DataBinder.Eval(Container.DataItem, "st_name")%>'> 
<%#DataBinder.Eval(Container.DataItem,"st_name")%></a>

لاحظ الاجزاء باللون الاحمر سيتم استبدالها عند معالجة الصفحة بالقيم الموجودة في حقل st_name في قاعدة البيانات , فاذا فرضنا انه يوجد قيمة 123 في حقل st_name فان النتيجة التي سترسل للمتصفح ستكون بالشكل التالي :

<a href='Default2.aspx?id=123'>123</a>

وبما انك قمت بوضع ذلك في اداة التكرار Repeater فسيتكرر ذلك السطر معك بنفس الصيغة مع تغير قيمة st_name بحسب قاعدة البيانات ولكن اسم الصفحة ثابت ,

المشكله هنا انك تريد صفحات باسماء مختلفة وبارامترات مختلفه لذلك فالحل ان تكتبها يدويا داخل تعليمة marquee او ان تكون اسماء الصفحات نفسها مخزنه في قاعدة البيانات وتعرضها بنفس الطريقة السابقة , يعني لوفرضنا ان حقل ال id هو st_name وحقل اسم الصفحة هو page_name فسيصبح الكود بالشكل التالي :

<a href='<%#DataBinder.Eval(Container.DataItem, "page_name")%>?id=<%#DataBinder.Eval(Container.DataItem, "st_name")%>'> 
		<%#DataBinder.Eval(Container.DataItem,"st_name")%></a>
#12

الف شكر اخي القرش1 وجزاك الله الف خير

فلنفرض مثلا انه هناك شركة لديها موقع وهذه الشركة مثلا تريد عرض منتجاتها الجديدة على marquee في موقعها , حيث عندما ينقر الزائر على اسم المنتج الموجود في marquee تفتح له صفحة جديدة , حيث كل منتج موجود في marquee له صفحة خاصة به تختلف عن صفحات المنتجات الاخرى .

فهل الحل الامثل اننا نخزن اسماء الصفحات في قاعدة البيانات ؟

هل اعمل جدول خاص فقط بالمنتجات الجديدة فيه مثلا اسم المنتج ورقمة واسم الصفحة الذي سينتقل اليها المستخدم عند النقر على اسم المنتج ؟

ما هو الحل المثالي هنا لهذا المثال؟

#13

طبعا الحل الأمثل والأفضل هو ان يكون لديك صفحة واحدة تقوم بعرض المنتجات بحسب المعلومات المرسله اليها حيث سيكون الجدول في قاعدة البيانات يحتوي على سبيل المثال اسم المنتج ورقمه ورقم الشركه التي يتبع لها المنتج وعند عرض المنتجات يتم ارسال رقم الشركة لصفحة العرض لتقوم هي بباقي العمل

ولكنك ذكرت ان كل صفحة تختلف عن الأخرى ولهذا اقترحت عليك الاقتراح السابق ولكنه طبعا غير عملي وكأن موقعك ستاتيك ولا يستفيد فعلا من قاعدة البيانات بشكل صحيح

وبالمناسبة لايعني استخدام نفس اسم الصفحة ان تعرض لك دائما نفس المحتويات ولكن يتم تغييرها بحسب المعلومات المرسله اليها , وخذ مثالا بسيطا على ذلك : انظر الى عنوان صفحة المنتدى الحالية ستجده كالتالي :

/index.php?showtopic=133133&st=10&start=10

كل المعلومات التي تم ذكرها بعد اسم الصفحة هي معلومات تخبر الصفحة ماذا وكيف تظهر المحتويات , لاحظ معي كلمة showtopic والمتبوعه برقم هذا الرقم هو رقم المشاركه يعني لو غيرت هذا الرقم الى اي رقم مشاركه اخر فسيتم نقلك الى تلك المشاركه وكأنها صفحة اخرى ولكن الحقيقة ان المحتويات فقط هي التي اختلفت , جرب مثلا هذه الصفحات :

/index.php?showtopic=133575
/index.php?showtopic=133555
/index.php?showtopic=133404

لاحظ كيف ان اسم الصفحة ثابت وكلمة shwotopic ثابته والمتغير فقط هو رقم المشاركه

وفي حالتك سيكون ID مثل showtopic في الصفحات السابقة , ورقم الشركه مثل رقم الموضوع ويمكنك طبعا ان ترسل اكثر من معلومه للصفحة للتحكم بطريقة العرض بشكل اكبر

#14

كما وضح الأخ القرش بخصوص الحل الأمثل .. لكن في حال أنك تتعاملين مثلا مع CMS و هناك حاجة لربط عنوان خبر مع صفحة معينة تكون مختلفة فأنا أنصحك بالتالي:

عند ادخال الخبر .. أضيفي TextBox يحمل إسم URL تقومي من خلاله بإدخال وصلة للخبر .. و عند عرض الموضوع قومي بعمل التالي:

<a href='<%#DataBinder.Eval(Container.DataItem, "URL")%>'><%#DataBinder.Eval(Container.DataItem,"News_Title")%></a>

إن كانت الصفحات موجودة في مواقع اخرى على الانترنت لا تنسي إضافة Http:// بعد ال Href

و بس :)

You can fly while you can touch the sky

#15

الاخ القرش1 اني اشكرك جدا وجزاك الله الف خير

لكن عندي سؤال حين قلت :

(وبالمناسبة لايعني استخدام نفس اسم الصفحة ان تعرض لك دائما نفس المحتويات ولكن يتم تغييرها بحسب المعلومات المرسله اليها , وخذ مثالا بسيطا على ذلك : انظر الى عنوان صفحة المنتدى الحالية ستجده كالتالي :

كود/index.php?showtopic=133133&st=10&start=10)

كيف يتم تغير نفس الصفحة بحسب المعلومات المرسلة اليها هل استخدم bookmark اثناء التصميم

يعني كيف اصمم الصفحة التي ستحتوي على معلومات اخرى

الاخ محمد خليل ابو صلاح اشكرك على الرد وجزاك الله الف خير

لكن لم افهم تماما عملTextBox ياريت توضح اكثر لو حتى بمثال صغير

#16

لنفرض أن هناك قسم لل Admin وفيه صفحة Add Topic مثلا

يوجد بها Text Box لعنوان الخبر و منطقة لكتابة المحتوى مثلا .. لكن أنتي أردتي أن تقومي بتحويل الاخبار لصفحات اخرى ربما في نفس الموقع او في مواقع مختلفة ..

يلزمك تعديل قاعدة البيانات بحيث تضيفي لجدول الاخبار الحقل URL

و يلزمك حقل لإدخال اللينك URL في صفحة Add Topic وبس

اعتقد واضحة جدا جدا

You can fly while you can touch the sky

#17

الاخ محمد خليل ابو صلاح شكرا لك وجزاك الله الف خير

سأجرب هذه الفكره وان شاء الله خير :D

#18

يا جماعة ساعدوني مش راضية الفكرة تدخل دماغي

لنفرض ان بيانات marquee عند النقر عليها يعرض البيانات في صفحة كيف اجعل الصفحة في كل مره تعرض بيانات مختلفه

يعني كيف اصمم الصفحة دي عشان كل مره تعرض بيانات مختلفة على حسب العنوان الذي تم الضغط عليه

الرجاء المساعدة

#19

اقصد يعني هي نفس الصفحة لكن في كل مره تعرض بيانات مختلفة

#20

بليز يا جماعة ردوا عليا

#21

اخي dsw3

ساقوم بعمل صفحتين خصيصا لشرح هذه العملية مع الdatabase

طبعا سيكون عباره عن صفحتين صغيرتين جدا جدا جدا ... الخ مع جدول واحد يحوي على 3 اعمده وملف صور صغير فيه 3 صور

قريبا جدا .. يعني اول ما القى وقت لذلك

توكل على الله يا عزيزي ولا تشيل هم B)

Success is the ability to go from one failure to the next without any loss of Enthusiasm

#22

عزيزي dsw3

بافتراضي انك تستخدم ASP.Net 2.0

قمت بعمل هذا المثال راجيا من الله ان يكون مفهوما

حقيقة انا لم افعل شي من عندي انما هو مجرد توضيح لكلام الشباب قبلي.. ارجو ان تمشي مع الكود خطوه خطوه وتحاول الانتقال مع كل سطر وماذا يفعل

اما ان كنت تتعامل مع ال ASP.Net 1.1

فان هذا المثال لن يكون له قيمه كبيره .. عند ذلك اخبرني فقط وساحاول ان اكتب لك نفس المثال السابق ولكن باستخدام ال ASP.Net 1.1

بالنسبة للمثال المرفق فهو مثال سهل جدا (صفحة البداية هي dat.aspx) وليست كما جرت العاده عليه (defualt.aspx) وهذا كان خطا غير مقصود وغير مؤثر في نفس الوقت

كل ما عليك هو ان تبدا من الصفحة dat.aspx والتي تحتوي على marquee بالظبط كما كتبه حبيبنا "القرش1" مع بعض التعديلات لتوافق الجدول المستخدم هنا

طبعا هذا الجدول يحتوي على 3 اعمده كما ذكرت لك سابقا:

s_ID وهو رقم غير متكرر

s_Name اسم عادي

s_Image اسم الصورة

بكل بساطه نستخدم الrepeater ليستخلص المعلومات المطلوبه

وكما شرح ذلك ايضا اخونا القرش1

ارجو ان يكون المثال واضحا و مكملا لما بداءه الشباب معك

واذا احتجت لتوضيح اخر ساكون هنا بانتظارك

ودمتم

WebSite1.rar

Success is the ability to go from one failure to the next without any loss of Enthusiasm

#23

مشكور اخي in2sol سأحمل المثال وسأجربه وان شاء الله كل خير

#24

أعتقد إن مافيه حل إلا بربطها بقاعدة بيانات وإعطاءها الدليل ... أظن فهمت قصدي؟؟

هذا الموضوع مغلق.

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

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

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

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

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