【发布时间】:2021-06-20 13:06:16
【问题描述】:
我希望下面的“Test.razor.cs”文件(没有相应的“Test.razor”文件,因此没有“partial”)实际上可以作为一个页面工作。但我收到“抱歉,这个地址什么都没有”。转到“.../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 文件)?
【问题讨论】:
-
我会问你为什么要这样做?你想达到什么目的?
-
虽然您将文件命名为 Test.razor.cs,但实际上它只是 Test.cs - 不涉及剃须刀。正如@enet 所说,下面声明一个包含组件和 [at]page 指令的基本路由(页面)。请记住,[at]page 属性在 SPA 上必须是唯一的。类不是,你可以在一个项目或同一个组件中多次实例化它们,所以你不能用 [at]page 指令声明它们是有原因的。我们中许多使用 Blazor 已有一段时间的人都停止使用工作页面 - 这可能会产生很大的误导。
-
@BrettJB 我正在使用代码生成工具生成页面,然后覆盖要自定义的部分(github.com/TrackableEntities/… 不支持 .cs 或 .ts 以外的文件扩展名)