سؤال

أحاول قصر الرؤية على الأزرار والقدرة على تحكم المستخدم بناءً على الدور في موقع SharePoint 2010.أحصل على المستخدم من سطر التعليمات البرمجية التالي

SPContext.Current.Web.CurrentUser

ثم باستخدام وظيفة وجدتها عبر الإنترنت، أتحقق مما إذا كان المستخدم ينتمي إلى دور معين

public static bool SPUserHasRole(SPUser spUser, string spRole)
        {
            bool hasRole = false;
            if (spUser != null)
            {
                using (SPSite site = new SPSite(SPContext.Current.Site.Url, spUser.UserToken))
                {
                    using (SPWeb rootWeb = site.RootWeb)
                    {
                        SPRoleDefinition spRoleDef = null;
                        try
                        {
                            spRoleDef = rootWeb.RoleDefinitions[spRole];
                        }
                        catch 
                        { 
                        }
                        if (spRoleDef != null)
                        { 
                            hasRole = rootWeb.AllRolesForCurrentUser.Contains(spRoleDef); 
                        }
                    }
                }
            } return hasRole;
        }

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

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

شكرًا.

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

المحلول

ماذا عن وضع عناصر التحكم الخاصة بالعميل في الداخل <div> العلامات وتغيير رؤية علامة div.

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