كيفية الرجوع إلى صفحة رئيسية من عنصر تحكم المستخدم؟

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

سؤال

أنا أبحث عن طريقة (يفضل) لكتابة صفحة رئيسية بقوة من عنصر تحكم المستخدم الموجود في صفحة المحتوى التي تستخدم الصفحة الرئيسية.

للأسف، لا يمكنك استخدام هذا في عنصر تحكم المستخدم:

<%@ MasterType VirtualPath="~/Masters/Whatever.master" %>

أحاول الوصول إلى خاصية الصفحة الرئيسية من عنصر تحكم المستخدم ولا أضطر إلى تمرير الخاصية من الصفحة الرئيسية إلى صفحة المحتوى إلى عنصر تحكم المستخدم لأن صفحات المحتوى المتعددة تستخدم نفس عنصر تحكم المستخدم.تغيير واحد، مكان واحد وما إلى ذلك.

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

المحلول

وحاول Page.Master.

Whatever whatev = (Whatever)Page.Master;

وسيكون لديك للتأكد من إضافة البيانات using المناسبة إلى أعلى الملف الخاص بك، أو التأهل نوع الصفحة الرئيسية المضمنة.

واحد مسكتك المحتمل إذا تم استخدام هذا التحكم عن طريق صفحة مختلفة التي ليست من نفس النوع الصفحة الرئيسية. لن يؤدي إلا ننشغل هذا في وقت التشغيل.

نصائح أخرى

هل حاولت Page.FindControl ( "اسم") على UserControl؟

وأفضل طريقة للقيام بذلك التي وجدتها هي في الواقع لبناء فئة مخصصة يستند الخروج من UserControl، وإعطائها خاصية ماستر مع الحصول على استرجاع تلك الأسماك من خلال this.Page.Parent حتى يتوقف تواجه الصفحات الرئيسية (إذا كنت التعشيش، هذه الخطوة غير ضرورية على خلاف ذلك) ومن ثم العودة أن السيطرة على شبكة الإنترنت كنوع من الصفحة الرئيسية التي تريد استخدامها. ثم، عند إضافة عنصر تحكم مستخدم جديد، تغييره من الفئة الأساسية إلى اسم الفئة المخصصة. الخاصية سوف تكون في متناول .Master ويلقي صحيح كصفحة رئيسية تريد أن تستخدمها.

في VB كل ما كنت بحاجة إلى القيام به هو تغيير هذا:

Dim lAuthLevel As Integer = Master.MasterContact.AuthenticationLevel

الى هذا:

Dim lAuthLevel As Integer = CType(Me.Page.Master, main).MasterContact.AuthenticationLevel

لذلك جميع المراجع من يتقن يصبح Ctype(Me.Page.Master، typeofMaster)

أين توجد في هذه الحالة كلمة "رئيسية" - احصل عليها من الإعلان الموجود أعلى الصفحة الرئيسية.على سبيل المثال

لذلك "الرئيسي" في هذه الحالة :)

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