diff --git a/src/Microsoft.AspNet.Mvc.Razor.Host/MvcRazorHost.cs b/src/Microsoft.AspNet.Mvc.Razor.Host/MvcRazorHost.cs index e66bef0c63..7aa114da16 100644 --- a/src/Microsoft.AspNet.Mvc.Razor.Host/MvcRazorHost.cs +++ b/src/Microsoft.AspNet.Mvc.Razor.Host/MvcRazorHost.cs @@ -36,6 +36,7 @@ namespace Microsoft.AspNet.Mvc.Razor }; private readonly IFileSystem _fileSystem; + // CodeGenerationContext.DefaultBaseClass is set to MyBaseType. // This field holds the type name without the generic decoration (MyBaseType) private readonly string _baseType; @@ -85,11 +86,28 @@ namespace Microsoft.AspNet.Mvc.Razor defineSectionMethodName: "DefineSection", generatedTagHelperContext: new GeneratedTagHelperContext { - RunnerTypeName = typeof(TagHelperRunner).FullName, - ScopeManagerTypeName = typeof(TagHelperScopeManager).FullName, ExecutionContextTypeName = typeof(TagHelperExecutionContext).FullName, + ExecutionContextAddMethodName = nameof(TagHelperExecutionContext.Add), + ExecutionContextAddTagHelperAttributeMethodName = + nameof(TagHelperExecutionContext.AddTagHelperAttribute), + ExecutionContextAddHtmlAttributeMethodName = nameof(TagHelperExecutionContext.AddHtmlAttribute), + ExecutionContextOutputPropertyName = nameof(TagHelperExecutionContext.Output), + + RunnerTypeName = typeof(TagHelperRunner).FullName, + RunnerRunAsyncMethodName = nameof(TagHelperRunner.RunAsync), + + ScopeManagerTypeName = typeof(TagHelperScopeManager).FullName, + ScopeManagerBeginMethodName = nameof(TagHelperScopeManager.Begin), + ScopeManagerEndMethodName = nameof(TagHelperScopeManager.End), + + OutputGenerateStartTagMethodName = nameof(TagHelperOutput.GenerateStartTag), + OutputGenerateContentMethodName = nameof(TagHelperOutput.GenerateContent), + OutputGenerateEndTagMethodName = nameof(TagHelperOutput.GenerateEndTag), + + // Can't use nameof because RazorPage is not accessible here. + CreateTagHelperMethodName = "CreateTagHelper", StartWritingScopeMethodName = "StartWritingScope", - EndWritingScopeMethodName = "EndWritingScope" + EndWritingScopeMethodName = "EndWritingScope", }) { ResolveUrlMethodName = "Href", diff --git a/src/Microsoft.AspNet.Mvc.Razor/RazorPage.cs b/src/Microsoft.AspNet.Mvc.Razor/RazorPage.cs index 8bd4af2d9f..afab0e0ed5 100644 --- a/src/Microsoft.AspNet.Mvc.Razor/RazorPage.cs +++ b/src/Microsoft.AspNet.Mvc.Razor/RazorPage.cs @@ -138,8 +138,8 @@ namespace Microsoft.AspNet.Mvc.Razor public TTagHelper CreateTagHelper() where TTagHelper : ITagHelper { var tagHelper = TypeActivator.CreateInstance(ViewContext.HttpContext.RequestServices); - var hasViewContext = tagHelper as ICanHasViewContext; + var hasViewContext = tagHelper as ICanHasViewContext; hasViewContext?.Contextualize(ViewContext); return tagHelper;