我有一个基于标准模板的blazor wasm应用程序。在我的导航中,我有几个组件。由于应用程序的内容,我希望阻止对组件的直接访问。
例如,通过使用如下链接来阻止对组件"myComponent“的直接访问:https://www.example.com/myComponent
这是必要的,因为用户必须在应用程序中遵循严格的流程。
一旦我从一个组件中删除了@page指令,就无法通过找到它。导航也不再起作用了。
此外:如何从url中隐藏组件名称?
期待一些提示!
发布于 2021-07-30 10:00:39
禁止使用如下链接直接访问组件"myComponent“:https://www.example.com/myComponent
您可以通过而不是添加@page "myComponent"来完成此操作
你想要的已经是默认行为了。
如何从url中隐藏组件名称?
当它是一个页面时,你需要一些东西。但是你可以选择任何你想要的名字。
也许你可以用页面和组件之间的区别来更新你的问题。告诉我们为什么你不想要URL中的哪些信息。
页面是具有一个或多个路由属性(@page "<url-patern>")的组件
这是必要的,因为用户必须在应用程序中遵循严格的流程。
您可以构建“向导”:维护“步骤”并基于该值显示特定组件的主页。使用EventCallback前进或后退。
发布于 2022-01-12 05:25:41
您可以使用NavigationManager将用户重定向到其他页面
示例:
@inject NavigationManager NavigationManager
@code{
....
protected async override void OnInitialized(){
if(!isLogin) {
NavigationManager.NavigateTo($"/login");
}
}
}你也可以在渲染组件之前检查需求
示例
@if (isLogin)
{
<myComponent/>
}https://stackoverflow.com/questions/68588955
复制相似问题