当前位置: 首页>>代码示例>>C#>>正文


C# Rendering.ToString方法代码示例

本文整理汇总了C#中Rendering.ToString方法的典型用法代码示例。如果您正苦于以下问题:C# Rendering.ToString方法的具体用法?C# Rendering.ToString怎么用?C# Rendering.ToString使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Rendering的用法示例。


在下文中一共展示了Rendering.ToString方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: GetFromViewPath

        protected virtual object GetFromViewPath(Rendering rendering, GetModelArgs args)
        {
            var viewPath = rendering.ToString().Replace("View: ", string.Empty);

            if(!SiteHelper.IsValidSite()) return null;

            var useSynthesisModelType = SynthesisRenderingCache.GetOrAdd(rendering.ToString(), key =>
            {
                var renderer = rendering.Renderer;

                var diagnosticRenderer = renderer as RenderingDiagnosticsInjector.DiagnosticsRenderer;
                if (diagnosticRenderer != null) renderer = diagnosticRenderer.InnerRenderer;

                var viewRenderer = renderer as ViewRenderer;
                if (viewRenderer != null) viewPath = viewRenderer.ViewPath;

                var modelType = _typeResolver.GetViewModelType(viewPath);

                // Check to see if no model has been set
                if (modelType == typeof(object)) return false;

                // Check that the model is a Synthesis type (if not, we ignore it)
                if (!typeof(IStandardTemplateItem).IsAssignableFrom(modelType)) return false;

                return true;
            });

            return useSynthesisModelType ? rendering.Item.AsStronglyTyped() : null;
        }
开发者ID:BerserkerDotNet,项目名称:Synthesis,代码行数:29,代码来源:GetFromSynthesis.cs

示例2: GetFromViewPath

        protected virtual object GetFromViewPath(Rendering rendering, GetModelArgs args)
        {
            var path = rendering.Renderer is ViewRenderer ? ((ViewRenderer)rendering.Renderer).ViewPath : rendering.ToString().Replace("View: ", string.Empty);

            if (string.IsNullOrWhiteSpace(path))
            {
                return null;
            }

            // Retrieve the compiled view
            var compiledViewType = BuildManager.GetCompiledType(path);
            var baseType = compiledViewType.BaseType;

            // Check to see if the view has been found and that it is a generic type
            if (baseType == null || !baseType.IsGenericType)
            {
                return null;
            }

            var modelType = baseType.GetGenericArguments()[0];

            // Check to see if no model has been set
            if (modelType == typeof(object))
            {
                return null;
            }

            var modelGenericArgs = modelType.GetGenericArguments();

            var itemFactory = DependencyResolver.Current.GetService<IItemFactory>();

            var method = itemFactory.GetType().GetMethods().FirstOrDefault(m => string.Equals(m.Name, "GetRenderingContextItems")
                && m.GetGenericArguments().Count().Equals(modelGenericArgs.Count()));

            if (method != null)
            {
                var genericMethod = method.MakeGenericMethod(modelGenericArgs);

                return genericMethod.Invoke(itemFactory, new object[] { itemFactory });
            }

            return null;
        }
开发者ID:tdelplace,项目名称:fortis,代码行数:43,代码来源:GetFromView.cs


注:本文中的Rendering.ToString方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。