本文整理汇总了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;
}
示例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;
}