Пример #1
0
        internal DisplayInfo GetDisplayInfoForVirtualPath(
            string virtualPath,
            HttpContextBase httpContext,
            Func <string, bool> virtualPathExists,
            IDisplayMode currentDisplayMode,
            bool requireConsistentDisplayMode
            )
        {
            // Performance sensitive
            int first = FindFirstAvailableDisplayMode(
                currentDisplayMode,
                requireConsistentDisplayMode
                );

            for (int i = first; i < _displayModes.Count; i++)
            {
                IDisplayMode mode = _displayModes[i];
                if (mode.CanHandleContext(httpContext))
                {
                    DisplayInfo info = mode.GetDisplayInfo(
                        httpContext,
                        virtualPath,
                        virtualPathExists
                        );
                    if (info != null)
                    {
                        return(info);
                    }
                }
            }
            return(null);
        }
        internal IEnumerable <IDisplayMode> GetAvailableDisplayModesForContext(HttpContextBase httpContext, IDisplayMode currentDisplayMode, bool requireConsistentDisplayMode)
        {
            int first = FindFirstAvailableDisplayMode(currentDisplayMode, requireConsistentDisplayMode);

            for (int i = first; i < _displayModes.Count; i++)
            {
                IDisplayMode mode = _displayModes[i];
                if (mode.CanHandleContext(httpContext))
                {
                    yield return(mode);
                }
            }
        }