React to removal of TagHelperContent.ToString()
Avoid calling ToString on a TagHelperContent. Also react to new properties on TagHelperCodeGenerationContext
This commit is contained in:
parent
d8d0a1ab89
commit
80add92de8
|
|
@ -102,6 +102,9 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
|
||||
// Can't use nameof because IHtmlHelper is (also) not accessible here.
|
||||
MarkAsHtmlEncodedMethodName = HtmlHelperPropertyName + ".Raw",
|
||||
AddHtmlAttributeValuesMethodName = "AddHtmlAttributeValues",
|
||||
HtmlEncoderPropertyName = "HtmlEncoder",
|
||||
TagHelperContentGetContentMethodName = nameof(TagHelperContent.GetContent),
|
||||
})
|
||||
{
|
||||
BeginContextMethodName = "BeginContext",
|
||||
|
|
|
|||
|
|
@ -39,7 +39,8 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
v.Write("Hello from Output");
|
||||
v.ViewContext.Writer.Write("Hello from view context writer");
|
||||
var scopeValue = v.EndTagHelperWritingScope();
|
||||
v.Write("From Scope: " + scopeValue.ToString());
|
||||
v.Write("From Scope: ");
|
||||
v.Write(scopeValue);
|
||||
});
|
||||
|
||||
// Act
|
||||
|
|
@ -47,8 +48,8 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
var pageOutput = page.Output.ToString();
|
||||
|
||||
// Assert
|
||||
Assert.Equal("HtmlEncode[[Hello Prefix]]HtmlEncode[[From Scope: HtmlEncode[[Hello from Output]]" +
|
||||
"Hello from view context writer]]", pageOutput);
|
||||
Assert.Equal("HtmlEncode[[Hello Prefix]]HtmlEncode[[From Scope: ]]HtmlEncode[[Hello from Output]]" +
|
||||
"Hello from view context writer", pageOutput);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
|
@ -63,7 +64,8 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
v.StartTagHelperWritingScope();
|
||||
v.Write("Hello In Scope");
|
||||
var scopeValue = v.EndTagHelperWritingScope();
|
||||
v.Write("From Scope: " + scopeValue.ToString());
|
||||
v.Write("From Scope: ");
|
||||
v.Write(scopeValue);
|
||||
});
|
||||
|
||||
// Act
|
||||
|
|
@ -71,7 +73,7 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
var pageOutput = page.Output.ToString();
|
||||
|
||||
// Assert
|
||||
Assert.Equal("HtmlEncode[[Hello Prefix]]HtmlEncode[[From Scope: HtmlEncode[[Hello In Scope]]]]", pageOutput);
|
||||
Assert.Equal("HtmlEncode[[Hello Prefix]]HtmlEncode[[From Scope: ]]HtmlEncode[[Hello In Scope]]", pageOutput);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
|
@ -93,7 +95,9 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
v.Write("Hello In Scope Post Nest");
|
||||
var scopeValue2 = v.EndTagHelperWritingScope();
|
||||
|
||||
v.Write("From Scopes: " + scopeValue2.ToString() + scopeValue1.ToString());
|
||||
v.Write("From Scopes: ");
|
||||
v.Write(scopeValue2);
|
||||
v.Write(scopeValue1);
|
||||
});
|
||||
|
||||
// Act
|
||||
|
|
@ -101,8 +105,8 @@ namespace Microsoft.AspNet.Mvc.Razor
|
|||
var pageOutput = page.Output.ToString();
|
||||
|
||||
// Assert
|
||||
Assert.Equal("HtmlEncode[[Hello Prefix]]HtmlEncode[[From Scopes: HtmlEncode[[Hello In Scope Pre Nest]]" +
|
||||
"HtmlEncode[[Hello In Scope Post Nest]]HtmlEncode[[Hello In Nested Scope]]]]", pageOutput);
|
||||
Assert.Equal("HtmlEncode[[Hello Prefix]]HtmlEncode[[From Scopes: ]]HtmlEncode[[Hello In Scope Pre Nest]]" +
|
||||
"HtmlEncode[[Hello In Scope Post Nest]]HtmlEncode[[Hello In Nested Scope]]", pageOutput);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
|
|
|||
|
|
@ -2,24 +2,27 @@
|
|||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNet.Mvc;
|
||||
using Microsoft.AspNet.Mvc.Rendering;
|
||||
using Microsoft.AspNet.Mvc.ViewFeatures;
|
||||
using Microsoft.AspNet.Mvc.ViewFeatures.Internal;
|
||||
using Microsoft.AspNet.Razor.Runtime.TagHelpers;
|
||||
using Microsoft.Framework.WebEncoders;
|
||||
|
||||
namespace ActivatorWebSite.TagHelpers
|
||||
{
|
||||
[HtmlTargetElement("span")]
|
||||
public class HiddenTagHelper : TagHelper
|
||||
{
|
||||
public HiddenTagHelper(IHtmlHelper htmlHelper)
|
||||
public HiddenTagHelper(IHtmlHelper htmlHelper, IHtmlEncoder htmlEncoder)
|
||||
{
|
||||
HtmlHelper = htmlHelper;
|
||||
HtmlEncoder = htmlEncoder;
|
||||
}
|
||||
|
||||
public IHtmlHelper HtmlHelper { get; }
|
||||
|
||||
public IHtmlEncoder HtmlEncoder { get; }
|
||||
|
||||
[HtmlAttributeNotBound]
|
||||
[ViewContext]
|
||||
public ViewContext ViewContext { get; set; }
|
||||
|
|
@ -31,8 +34,7 @@ namespace ActivatorWebSite.TagHelpers
|
|||
(HtmlHelper as ICanHasViewContext)?.Contextualize(ViewContext);
|
||||
|
||||
var content = await context.GetChildContentAsync();
|
||||
|
||||
output.Content.SetContent(HtmlHelper.Hidden(Name, content));
|
||||
output.Content.SetContent(HtmlHelper.Hidden(Name, content.GetContent(HtmlEncoder)));
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue