仅使用 .razor.cs 文件定义 Blazor 页面;没有 .razor 文件

Define a Blazor Page using .razor.cs file only; no .razor file

我希望下面的“Test.razor.cs”文件(没有相应的“Test.razor”文件,因此没有“部分”)实际上可以作为页面使用。但我收到“抱歉,此地址没有任何内容”。转到“.../Test”时出错

using Microsoft.AspNetCore.Components;
using Microsoft.AspNetCore.Components.Rendering;
using NorthWind.UI.Shared;

namespace NorthWind.UI.Pages
{
    public class Test : ComponentBase
    {

        protected override void BuildRenderTree(RenderTreeBuilder builder)
        {
            builder.OpenComponent(0, typeof(SurveyPrompt));
            builder.AddAttribute(1, "Title", $"Some Test");
            builder.CloseComponent();

            base.BuildRenderTree(builder);
        }
    }
}

有没有办法将它添加到 Blazor 也可以评估的页面(除了添加前端 .razor 文件之外)?

答案是将 Microsoft.AspNetCore.Components.RouteAttribute 添加到 class

    [Route("/Test")]
    public partial class Test : ComponentBase
    {

        protected override void BuildRenderTree(RenderTreeBuilder builder)
        {
            builder.OpenComponent(0, typeof(SurveyPrompt));
            builder.AddAttribute(1, "Title", $"Some Test");
            builder.CloseComponent();

            base.BuildRenderTree(builder);
        }
    }