以索引页为例:
<h1>Hello, world!</h1>
Welcome to your new app.
<SurveyPrompt Title="How is Blazor working for you?" />
据我了解,这将使用RenderTreeBuilder转换为一些代码,如下所示:
builder.OpenElement(0, "h1")
builder.AddContent(1, "Hello, world!")
.
.
.
在哪里可以检查RenderTreeBuilder版本的剃须刀页面?我想开始尝试RenderTreeBuilder,并想知道它是如何完成的,以供参考。
如果这是重复的,则表示歉意。如果是这样,我将删除此问题。
谢谢!
你是对的。BlazorMarkup被转换为使用RenderTreeBuilder的C#文件。它与WPF在XAML和C#文件方面的功能相当。
建立项目后,请前往obj/debug/net5.0/Razor/
。
请记住使用调试版本。否则,您将看不到文件。
您将看到与项目中相同的目录结构。列出目录,只要它们包含剃刀文件即可。打开文件,例如Index.razor.g.cs(.g代表generate),您可以看到对RenderTreeBuilder
[Microsoft.AspNetCore.Components.RouteAttribute("/")]
public partial class Index : Microsoft.AspNetCore.Components.ComponentBase
{
#pragma warning disable 1998
protected override void BuildRenderTree(Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder __builder)
{
__builder.AddMarkupContent(0, "<h1>Hello, world!</h1>\r\n\r\nWelcome to your new app.\r\n\r\n");
__builder.OpenComponent<BlazorApp1.Shared.SurveyPrompt>(1);
__builder.AddAttribute(2, "Title", "How is Blazor working for you?");
__builder.CloseComponent();
}
#pragma warning restore 1998
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句