NavigationManager 没有按预期工作?
NavigationManager does not works as expected?
如果我在共享中创建一个页面 - LoginPage.razor :
@inherits LayoutComponentBase
@inject IJSRuntime JSRuntime;
@inject NavigationManager NavigationManager;
<button @onclick="onBtnClick"> sfsdf</button>
@code
{
public void onBtnClick()
{
NavigationManager.NavigateTo( "/Error" );
}
}
在 App.razor 中将 DefaultLayout 更改为上面的新页面:
<Router AppAssembly="@typeof(Program).Assembly">
<Found Context="routeData">
<RouteView RouteData="@routeData" DefaultLayout="@typeof(LoginPage)" />
</Found>
<NotFound>
<LayoutView Layout="@typeof(LoginPage)">
<p>Sorry, there's nothing at this address.</p>
</LayoutView>
</NotFound>
</Router>
然后在 Pages 中创建一个页面。让我们说 ErrorPage.razor :
@page "/Error"
<h3>ErrorPage</h3>
@code
{
}
如果我 运行 应用程序并单击按钮,页面应该更改为错误页面,但只有 URL 正在更改。
- 如何切换到错误页面?
我认为,您错过了 LoginPage bootstrap 组件中的 @Body 标记,它会在单击按钮时加载错误组件。
LoginPage.razor
@inherits LayoutComponentBase
@inject NavigationManager navigationManager
<button @onclick="onButtonClick">Go To Error Page</button>
<div class="bodyLoginPage">
@Body
</div>
@code{
public void onButtonClick()
{
navigationManager.NavigateTo("/Error");
}
}
希望对您有所帮助。谢谢
如果我在共享中创建一个页面 - LoginPage.razor :
@inherits LayoutComponentBase
@inject IJSRuntime JSRuntime;
@inject NavigationManager NavigationManager;
<button @onclick="onBtnClick"> sfsdf</button>
@code
{
public void onBtnClick()
{
NavigationManager.NavigateTo( "/Error" );
}
}
在 App.razor 中将 DefaultLayout 更改为上面的新页面:
<Router AppAssembly="@typeof(Program).Assembly">
<Found Context="routeData">
<RouteView RouteData="@routeData" DefaultLayout="@typeof(LoginPage)" />
</Found>
<NotFound>
<LayoutView Layout="@typeof(LoginPage)">
<p>Sorry, there's nothing at this address.</p>
</LayoutView>
</NotFound>
</Router>
然后在 Pages 中创建一个页面。让我们说 ErrorPage.razor :
@page "/Error"
<h3>ErrorPage</h3>
@code
{
}
如果我 运行 应用程序并单击按钮,页面应该更改为错误页面,但只有 URL 正在更改。
- 如何切换到错误页面?
我认为,您错过了 LoginPage bootstrap 组件中的 @Body 标记,它会在单击按钮时加载错误组件。
LoginPage.razor
@inherits LayoutComponentBase
@inject NavigationManager navigationManager
<button @onclick="onButtonClick">Go To Error Page</button>
<div class="bodyLoginPage">
@Body
</div>
@code{
public void onButtonClick()
{
navigationManager.NavigateTo("/Error");
}
}
希望对您有所帮助。谢谢