سؤال

أنا أعمل على الرجوع إلى عناصر تحكم المستخدم في صفحة ASPX الخاصة بي وأتساءل ما هو الفرق بين هاتين التوجيهات للصفحتين.

@مرجع @يسجل

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

المحلول

و@Register هو أكثر شيوعا التوجيه. يمكنك استخدام هذا عندما تريد استخدام عنصر تحكم مستخدم في ASPX أو ASCX صفحتك إلزامي. @Register تربط السيطرة مع بادئة محددة ويمكنك بعد ذلك استخدامها في الترميز الخاص بك.

و@Reference يقول فقط ASP.NET لتجميع التحكم الأخرى عندما يتم ترجمة ASPX أو صفحة ASCX. أن يتأكد كان متوفرا في وقت التشغيل، ويمكن أن تضاف إلى التسلسل الهرمي التحكم الخاصة بك برمجيا. هذا هو أقل شيوعا منذ عناصر تحكم المستخدم تغيير حيوي في وقت التشغيل ليس comon.

وهنا وظيفة جيدة بلوق عن ذلك.

HTTP: //weblogs.asp. صافي / johnkatsiotis / أرشيف / 2008/08/13 / الإسناد-directive.aspx

نصائح أخرى

@Register يستخدم في المقام الأول للتسجيل بادئات العلامة ل تصريحيا استخدام عناصر التحكم داخل الصفحة.

<%@ Register tagprefix="my" namespace="MyNamespace" %>

<my:CustomControl runat=server />

@Reference يستخدم بشكل أساسي للإشارة إلى صفحة أو عنصر تحكم المستخدم (عن طريق اسم الملف أو المسار الظاهري) إليه برمجيا تشير إلى أعضاء الصفحة أو عنصر التحكم.

<%@ Reference Control="MyControl.ascx" %>

<%  MyControl ctrl = (MyControl) Page.LoadControl("MyControl.ascx");
    ctrl.CustomProperty = "..."; //REFERENCE directive is needed to access property
%>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top