كيف أقوم بإجراء يظهر الأطفال في webcontrol مخصصة لASP.NET؟

StackOverflow https://stackoverflow.com/questions/224978

  •  03-07-2019
  •  | 
  •  

سؤال

وعلى سبيل المثال، لدي تحكم مخصص يسمى SampleControl. لتبسيط الأمور على هذا السؤال، والتظاهر أنا جعل مجرد استنساخ لوحة التحكم من الصفر.

<CC:SampleControl ID="Sample1" runat="server">
   <asp:Label ID="Label1" runat="server" Text="Hi"></asp:Label>
   <asp:Button ID="Button1" runat="server" Text="Button1"></asp:Label>
</CC:SampleControl>

لإخراج:

<div id="Sample1">
   <span id=Label1>Hi</span>
   etc.....
</div>

وأين القانون هو:

public class SampleControl: WebControl
{
    .....Render Stuff Goes Here.....
}  

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

وعندما أفعل ذلك، وأنا على هذا الخطأ:

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

وأي أفكار؟

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

المحلول

أولا، [ParseChildren (كاذبة)] سمات يتيح محلل تعرف ان كنت تريد التحكم الخاصة بك لعلاج محتوى متداخلة والضوابط الطفل.

وبعد ذلك تأكد من أن مكان ما في التقديم يتم استدعاء أسلوب RenderChildren. انها تطبيق الافتراضي System.Web.UI.Control.Render ()، حتى تتمكن من القيام base.Render (الكاتب) في تنقضها بك تجعل الأسلوب.

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