I m doing a project in windowsforms with blazor in C#, the objective is to create a login system, I have the database already connected and the implementation of blazor with winforms is already done, it s giving me an error in the program class, I think it may be related to the way I introduced blazorwebview in the form. The error I m getting is this: InvalidOperationException: Error: No element is currently associated with component 1 System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
This is the code where I connect balzorwebview to windows forms:
using Microsoft.AspNetCore.Components.WebView.WindowsForms;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.VisualBasic.Logging;
namespace Login_Forms
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
var services = new ServiceCollection();
services.AddWindowsFormsBlazorWebView();
blazorWebView1.HostPage = "wwwroot\index.html";
blazorWebView1.Services = services.BuildServiceProvider();
blazorWebView1.RootComponents.Add<Counter>("#app/login");
}
private void Form1_Load(object sender, EventArgs e)
{
}
}
}
构成部分:
@page "/login"
@using Login_Forms.Models
@using Microsoft.AspNetCore.Components.Forms
<h3>Login</h3>
@code
{
private Usuario loginModel = new Usuario(1, "Tiago", "12345");
}
<EditForm Model= @loginModel OnValidSubmit= @Login >
<DataAnnotationsValidator />
<ValidationSummary />
<div>
<label for="Username">Username:</label>
<InputText id="Username" @bind-Value ="@loginModel.Name" />
</div>
<div>
<label for="Password">Password:</label>
<InputText id="Password" @bind-Value ="@loginModel.PassWord"/>
</div>
<input type="submit" id="Login">
</EditForm>
@code {
private void Login()
{
bool isAuthenticated = Authenticate(loginModel.Name, loginModel.PassWord);
if (isAuthenticated)
{
Console.WriteLine("Login bem-sucedido!");
}
else
{
Console.WriteLine("Falha no login. Credenciais inválidas.");
}
}
private bool Authenticate(string username, string password)
{
return username == "admin" && password == "admin";
}
}
我已经找了谷歌,不幸的是,我找不到任何东西,因此,我来问,是否有任何人知道这个问题。 我没有检测过任何东西。
I hope someone can help me