本文整理汇总了C#中IViewEngineHost.GetTemplate方法的典型用法代码示例。如果您正苦于以下问题:C# IViewEngineHost.GetTemplate方法的具体用法?C# IViewEngineHost.GetTemplate怎么用?C# IViewEngineHost.GetTemplate使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IViewEngineHost
的用法示例。
在下文中一共展示了IViewEngineHost.GetTemplate方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: PerformPartialSubstitutions
/// <summary>
/// Perform @Partial partial view expansion
/// </summary>
/// <param name="template">The template.</param>
/// <param name="model">The model.</param>
/// <param name="host">View engine host</param>
/// <returns>Template with partials expanded</returns>
private string PerformPartialSubstitutions(string template, dynamic model, IViewEngineHost host)
{
var result = template;
result = PartialSubstitutionRegEx.Replace(
result,
m =>
{
var partialViewName = m.Groups["ViewName"].Value;
var partialModel = model;
var properties = GetCaptureGroupValues(m, "ParameterName");
if (m.Groups["Model"].Length > 0)
{
var modelValue = GetPropertyValueFromParameterCollection(partialModel, properties);
if (modelValue.Item1 != true)
{
return "[ERR!]";
}
partialModel = modelValue.Item2;
}
var partialTemplate = host.GetTemplate(partialViewName, partialModel);
return this.Render(partialTemplate, partialModel, host);
});
return result;
}
示例2: PerformMasterPageSubstitutions
/// <summary>
/// Invokes the master page rendering with current sections if necessary
/// </summary>
/// <param name="template">The template.</param>
/// <param name="model">The model.</param>
/// <param name="host">View engine host</param>
/// <returns>Template with master page applied and sections substituted</returns>
private string PerformMasterPageSubstitutions(string template, object model, IViewEngineHost host)
{
var masterPageName = GetMasterPageName(template);
if (string.IsNullOrWhiteSpace(masterPageName))
{
return template;
}
var masterTemplate = host.GetTemplate(masterPageName, model);
var sectionMatches = SectionContentsRegEx.Matches(template);
var sections = sectionMatches.Cast<Match>().ToDictionary(sectionMatch => sectionMatch.Groups["SectionName"].Value, sectionMatch => sectionMatch.Groups["SectionContents"].Value);
return this.RenderMasterPage(masterTemplate, sections, model, host);
}