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

مشكلة في Drop Down Menu

بدأه roses في 9 مايو 2008 · 6 رد · 957 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

انا استخدم الـ asp.net + C#

عندي مشكلة في تعبئة الـ drop down list

انا مضطرة اني اعبيها عن طريق loop + query

و عندي 2 لست

وحده تعتمد على الثانية

بمعنى ... اذا اليوزر اختار من المينيو الاولى

رح تظهر له الخيارات المناسبة في المينيو الثاني

استخدمت فنكشن SelectedIndexChanged

عملية ظهور الاختيارات تتم بشكل تمام

لكن المشكلة انه اذا اليوزر اختار من اللست الاولى.. تتكرر الخيارات

يعني مثلا اللست الاولى الخيارات

1

2

3

اذا اخترت 2

تصير اللست الاولى

1

2

3

1

2

3

و حتى لمن اختار من اللست الثانية نفس الشي تتكرر خياراته

انا متأكده انه الخلل في SelectedIndexChanged

بس ما ادري ايش استخدم شي ثاني

او ايش فيه اوبشن ممكن احطه بحيث تلغي التكرار

مع العلم اني حاطة على

auto post back = true

يا ليت اللي عنده حل يساعدني

( من غير استخدام اجاكس )

شكرا للجميع

#3

السلام عليكم

شكرا اخ طارق عالرد

لكن مع الاسف ما ضبط معي

صار يطلع لي اللست الولى فاضي

و ما عاد يقدر اليوزر يغير اختياره قبل ما يضغط الزر

عملت برنت سكرين للمشكلة حتى تتوضح الصورة ان شاء الله

p1.jpg

p2.jpg

p3.jpg

و هذا هو الكود

protected void Page_Load(object sender, EventArgs e)

{

string course;

course = Request["c"].ToString(); //courseNo

Guid userId = new Guid(Membership.GetUser().ProviderUserKey.ToString());

SectionTableAdapter section = new SectionTableAdapter();

DataSet1.SectionDataTable sec;

sec = section.GetSection(course, userId);

//populate section dropdownlist

SectionM.Items.Add("Select a Section Number..");

for (int p = 0; p < sec.Rows.Count; p++)

{

SectionM.Items.Add(secبسم الله الرحمن الرحيم.SectionNo.ToString());

}

}

و هنا كود تعبئة اللست الثانية

protected void SectionM_SelectedIndexChanged(object sender, EventArgs e)

{

LectureTableAdapter lec = new LectureTableAdapter();

DataSet1.LectureDataTable lecture_table;

string section;

int sectionNo;

string course;

course = Request["c"].ToString(); //courseNo

section = SectionM.SelectedItem.Text.ToString();

sectionNo = System.Convert.ToInt16(section);

//get information for a certain lecture

lecture_table = lec.GetTitle(course, sectionNo);

//populate the lecture title DropDownList

LectureM.Items.Add("Select a Lecture Title . . .");

for (int p = 0; p < lecture_table.Rows.Count; p++)

{

LectureM.Items.Add(lecture_tableبسم الله الرحمن الرحيم.LectureTitle.ToString());

}

}

#4

بسم الله الرحمن الرحيم

وين الأمر ddl.Items.Clear();

؟

سبب التكرار في اللائحة رقم 2 هو عدم مسح المعلومات اللي فيها , انا ما شفت أي عملية مسح للمعلومات في الكود

#5
اقتباس
وين الأمر ddl.Items.Clear();

؟

سبب التكرار في اللائحة رقم 2 هو عدم مسح المعلومات اللي فيها , انا ما شفت أي عملية مسح للمعلومات في الكود

الامر هذا رح يحل لي مشكلة المينيو الثانية فقط

لكن المنيو الاولى ما زالت تتكرر عندي

و لو حطيت الامر نفسه للست الاولى تتعطل عندي :"(

#6

بسم الله الرحمن الرحيم

المنيو الأولى تعبئتها عند الحدث Page_Load

و يتم اعادة التعبئة عند الأمر PostBack

جرب التالي

Page_Load

if(!Page.IsPostBack)

في بداية الحدث Page_Load

بالتالي عند الاختيار من المنيو الأول و يقوم الكلاينت بعمل PostBack لن يتضمن ذلك تعبئة المنيو رقم 1

#7

السريع

اف شكر لك يا بطل

فعلا انحلت المشكلة

يعطيك العافية

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