![](/img/trans.png)
[英]How can I detect a change in a Blazor Server EditForm before the form is submitted
[英]How can I redirect to another page when a form is submitted after being checked using Blazor Server?
我目前正在使用 Blazor 服务器开发登录和注册页面。 在我的表单中提交字段后,有没有办法重定向到另一个.razor 页面? 我正在调用 submitFields function 以通过此特定示例的“@onclick”事件处理程序验证登录信息。 在 submitFields function 中,我尝试使用导航管理器,但它没有做任何事情。 此外,我尝试重新初始化页面并将检查设置为 true,这样我就可以重定向,但我也遇到了这种方法的问题。 有任何想法吗? 下面是我的源代码。
@code {
private string email;
private string password;
private bool check = false;
private string mySetting = "";
// form input logic
private void submitFields()
{
User person = new User();
person.connect = mySetting;
person.email = email;
person.password = password;
//when decrypting use Encrypt.hashString(password)
person.logIn();
check = person.check;
// I want to redirect to another page here
/*
if(check == true)
{
yay youre logged in, lets go to a new page!
} else
{
dont go anywhere
}
*/
}
// on load -> call this func
private void initMethod()
{
mySetting = _config.GetValue<string>("MySetting"); //on load get hidden connection string from appsettings.json
}
// on load
protected override async Task OnInitializedAsync()
{
initMethod();
}
}
首先,您必须注入 NavigationManager。 然后您可以使用它导航到另一个页面。 例子:
@inject NavigationManager NavigationManager
@code {
private void submitFields()
{
User person = new User();
person.connect = mySetting;
person.email = email;
person.password = password;
//when decrypting use Encrypt.hashString(password)
person.logIn();
check = person.check;
// I want to redirect to another page here
if(check == true)
{
NavigationManager.NavigateTo("/account/dashboard");
} else
{
dont go anywhere
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.