在Blazor应用程序中,可以使用Razor页面路由带参数,以下是一个示例解决方案:
@page "/details/{id}"
Details Page for ID: @id
This is the details page for item with ID: @id
@code {
[Parameter]
public string id { get; set; }
}
在@page
指令中,我们使用了/{id}
来定义了一个带参数的路由。id
参数是通过[Parameter]
属性进行绑定的。
MainLayout.razor
)中创建一个链接到Details页面的导航。Details
在这个示例中,我们创建了一个导航链接到/details/123
路由,其中123
是一个示例参数。
using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.DependencyInjection;
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddRouting();
}
public void Configure(IApplicationBuilder app)
{
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapBlazorHub();
endpoints.MapFallbackToPage("/_Host");
});
}
}
在这个示例中,我们使用services.AddRouting()
方法将路由服务添加到DI容器中,并在Configure
方法中使用app.UseRouting()
来启用路由中间件。
现在,当你在应用程序中点击Details导航链接时,将会导航到带参数的Details页面,并显示参数的值。
请注意,这只是一个简单示例,你可以根据自己的需求进行更多的自定义和扩展。
上一篇:Blazor应用程序能否包含.NET 4.6.1程序集?
下一篇:Blazor应用程序如何在Startup.cs中没有调用MapRazorPages()的情况下暴露Razor Pages端点?