C# 从参数呈现ASP.NET核心Razor标记
在ASP.NETCore之前,我可以将Razor标记作为参数传递给某个函数。然而,它似乎不再起作用了 例如,即使是这些简单的情况也不会产生任何效果:C# 从参数呈现ASP.NET核心Razor标记,c#,asp.net,razor,asp.net-core,C#,Asp.net,Razor,Asp.net Core,在ASP.NETCore之前,我可以将Razor标记作为参数传递给某个函数。然而,它似乎不再起作用了 例如,即使是这些简单的情况也不会产生任何效果: @{ Func<object, HelperResult> markup1 = @<text>hello world</text>; new HtmlString(markup1.Invoke(null).ToString()); Func<object, HelperResult> m
@{
Func<object, HelperResult> markup1 = @<text>hello world</text>;
new HtmlString(markup1.Invoke(null).ToString());
Func<object, HelperResult> markup2 = @<h1>hello world</h1>;
new HtmlString(markup2.Invoke(null).ToString());
}
@{
Func markup1=@hello world;
新的HtmlString(markup1.Invoke(null.ToString());
Func markup2=@hello world;
新的HtmlString(markup2.Invoke(null.ToString());
}
我做错了什么?这不会产生任何结果,因为你没有对结果做任何事情
@{
Func<object, HelperResult> markup = @<text>hello world</text>;
new HtmlString(markup.Invoke(null).ToString());
}
@{
Func<object, HelperResult> markup = @<text>hello world</text>;
var html = markup.Invoke(null);
await html.WriteAction(ViewContext.Writer);
}
您会注意到,这里我们明确地告诉html变量(
HtmlResult
)要写入的位置。在本例中,您将希望写入ViewContext.Writer
,这是一个System.IO.TextWriter
“它不呈现任何内容”-因此它编译/生成至少?@Dai它编译并运行,没有错误。但该标记没有呈现。