仅使用.razor.cs文件定义Blazor页面;不,剃刀锉刀

仅使用.razor.cs文件定义Blazor页面;不,剃刀锉刀,blazor,blazor-client-side,Blazor,Blazor Client Side,我希望下面的“Test.razor.cs”文件(没有相应的“Test.razor”文件,因此没有“partial”)可以作为一个页面工作。但是我得到了“对不起,这个地址什么都没有”的提示。在转到“../Test”时出错 是否有办法将其添加到Blazor也可以评估的页面(除了添加前端.razor文件)?答案是将Microsoft.AspNetCore.Components.RouteAttribute添加到类中 [Route("/Test")] public p

我希望下面的“Test.razor.cs”文件(没有相应的“Test.razor”文件,因此没有“partial”)可以作为一个页面工作。但是我得到了“对不起,这个地址什么都没有”的提示。在转到“../Test”时出错


是否有办法将其添加到Blazor也可以评估的页面(除了添加前端.razor文件)?

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

    [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);
        }
    }

还增加了一个问题,我想问你们为什么要这么做?您试图实现什么?虽然您已经调用了文件Test.razor.cs,但实际上它只是Test.cs,不涉及razor。正如@enet在下面所说的,声明一个包含组件和[at]page指令的基本路由(page)。请记住,[at]页面属性在SPA上必须是唯一的。类不是,您可以在项目或同一组件中多次实例化它们,因此不能使用[at]page指令声明它们是有原因的。我们中的许多人在使用Blazor一段时间后都停止了使用工作页,这可能会产生很大的误导。@BrettJB我正在使用代码生成工具生成页面,然后覆盖部分进行自定义(除了.cs或.ts之外,它不支持文件扩展名)
    [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);
        }
    }