Hei*_*gan 3 c# .net-core blazor
我有一个关于 asp.net core 和 razor 页面的非常简单的问题。
在 c# razor 代码中,我想在某些情况下重定向到另一条路线。如果之前有一个异步(等待)webservice 调用,NavigationManager.NavigateTo 不能正常工作,但也不会抛出异常。
async Task Cancel()
{
var authState = await authenticationStateTask;
var user = authState.User;
if (user.Identity.IsAuthenticated){
// if there's some async webservice call action here,
// NavigationManager.NavigateTo does neither work nor an exception is thrown
NavigationManager.NavigateTo("/Project", true);
}
}
Run Code Online (Sandbox Code Playgroud)
你知道可能是什么原因吗?
NavigationManager.NavigateTo的替代方法是什么?
PS请不要以那种方式提出Response.Redirect(因为,这不适合我)。
var context = new Microsoft.AspNetCore.Http.HttpContextAccessor();
context.HttpContext.Response.Redirect("/Project", true)
Run Code Online (Sandbox Code Playgroud)
亲切的问候,-他。
现在已经修复了错误。
NavigationManager.NavigateTo(...)的问题仅发生了,因为我在 Razor 页面的发布表单中使用了一个按钮。用 div 替换了表单标签,现在一切正常。
亲切的问候,-他
<div>
<p>
<label>Project name: @projectName</label>
</p>
<p>
<!-- [...] -->
<span class="btn-cancel">
<button class="btn-primary" @onclick="@(async () => await Cancel())">Cancel</button>
</span>
</p></div>
@code {
// ...
async Task Cancel()
{
// here're other async action calls
NavigationManager.NavigateTo("/Project", true);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5352 次 |
| 最近记录: |