اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

تطبيق Web Forms
ال panel التي أريد أن أجدها باسم offerHelpVisitor_panel موجودة داخل ItemTemplate الموجود بالتالي داخل repeater باسم tasks_repeater
كود ال front-end كالتالي

<asp:Repeater ID="tasks_repeater" runat="server">
  <ItemTemplate>
     <asp:Panel ID="offerHelpVisitor_panel" runat="server"><asp:Panel>
  </ItemTemplate>
</asp:Repeater>

 

  • 1
نشر

ستحتاج إلى وضع السمة OnItemDataBound="Fetcher" ضمن عنصر الـ repeater على الشكل التالي:

<asp:Repeater ID="tasks_repeater" runat="server" OnItemDataBound="Fetcher">
  <ItemTemplate>
     <asp:Panel ID="offerHelpVisitor_panel" runat="server"><asp:Panel>
  </ItemTemplate>
</asp:Repeater>

و Fetcher هنا هو اسم تابع يجب أن يكون موجودًا ضمن ملف الكود الخاص بالصفحة على الشكل التالي:

public void Fetcher(object sender, RepeaterItemEventArgs e)
{
    panels.Add((Panel)e.Item.FindControl("offerHelpVisitor_panel"));
}

أمّا بالنسبة للمتغيّر panels فهو من النوع List<Panel> حيث سيحتفظ بمرجع reference لكل عنصر Panel يتم توليده ضمن الـ repeater. عليك أن تصرّح عن هذا المتغيّر ضمن الصنف الخاص بالصفحة على الشكل التالي:

private List<Panel> panels = new List<Panel>();

عند تحميل الصفحة سيتم استدعاء التابع Fetcher عددًا من المرّات مساويًا لعدد عناصر الـ Panel التي سيولّدها الـ repeater وبالتالي يمكن أن تصل إليها جميعها عن طريق المتغير panels.

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...