سؤال

أنا أقوم ببناء موقع ASP.NET على موقع ASP.NET بشكل كبير ، وقد وصلت إلى مرحلة المشروع حيث أحاول إنشاء صفحة ويب للبحث التي توضح مجموعات فرعية مختلفة من جدول مهم معين استنادًا إلى المعلمات التي يدخلون مثل هذه كما تواريخ وحقول النص المختلفة.

لا يمكنني استخدام عبارة SQL ثابتة ، لأنه بناءً على ما إذا كانوا يبحثون حسب التاريخ أو عن طريق شيء آخر ، سيكون SQL مختلفًا ، لذا بدلاً من ذلك ، قمت بإنشاء قائمة نتائج باستخدام جهاز تحكم ويب في الجدول يبدأ غير مرئي وبعد ذلك ملء وتعيين على مرئي بمجرد أن يحدد المستخدم البحث الذي يريدون القيام به. لقد استخدمت عنصر تحكم في الجدول لأنه من السهل إنشاء وتعديل الكود خلفه ، وتمكنت من إجراء المكالمات المطلوبة إلى قاعدة البيانات وملء هذا الجدول كما هو مطلوب.

ومع ذلك ، فإن الشيء الثاني الذي أحتاجه مع صفحة البحث هذه ، هو القدرة على السماح للمستخدم بتحديد سجل من النتائج ثم تعديله باستخدام بقية الصفحات المستندة إلى CRUD على الموقع. للقيام بذلك ، قمت بإنشاء ASP: أزرار في الجدول ومنحتهم جميع المعرفات المختلفة ونفس معالج الحدث. ولكن نظرًا لأنني قمت بإنشاء الأزرار ديناميكيًا ، يبدو أن الحدث يختفي عند رد الاتصال وفشل مخططي ، لذلك أنا ألقي نظرة ثانية على كيفية القيام بذلك.

يشبه الكود الحالي للأحداث:

 tempcell = new TableCell();
 Button tempbutton = new Button();
 tempbutton.Text = "Go";
 tempbutton.ID = "gobutton" + rowN;
 tempbutton.Visible = true;
 tempbutton.Click += new EventHandler(tempbutton_Click);
 tempcell.Controls.Add(tempbutton);
 temprow.Cells.Add(tempcell);

تم إعلان جدول نتائجي مثل هذا:

<asp:Table ID="ResultTable" visible="false" runat="server" 
GridLines="Both" CellSpacing="8">
</asp:Table>

أود أن أتمكن من تحديد أي تسجيل للمستخدم المحدد ، حتى أتمكن من إرسال هذه المعلومات إلى صفحة أخرى. وبالطبع ، ما زلت بحاجة إلى توليد نتائج للعديد من معايير البحث المختلفة. حاليًا لدي تاريخ وقالب وعمليات بحث قائمة على الكود والتي تؤدي إلى إجراءات مخزنة مختلفة ومعلمات مختلفة بناءً على ما أدخله المستخدم.

أي اقتراحات حول هذا؟ يبدو أن شبكات البيانات وكراتها تتطلب عبارات SQL مقدمًا للعمل بشكل صحيح ، لذلك لست متأكدًا من كيفية استخدامها ، ولكن إذا كان بإمكاني ذلك ، فسيعمل نهج أمر العنصر مع الأزرار.

هل كانت مفيدة؟

المحلول

سيتم ربط الحدث الخاص بك بنجاح إذا تم إعادة إنشاء الزر في حدث تحميل الصفحة.

خلاف ذلك ، استخدم Gridview. إنه الحل الأمثل لـ Crud البسيط ، ويمكنك التحكم فيه بقدر ما تحتاج.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top