убедитесь, что вы используете rendermode InteractiveServer и используете стандартный HTML -тег для вместо < /p>
, поэтому я пытаюсь связать Ввод текста в модель, сгенерированную EF, используя каркасы, я пробовал абсолютно все, прочитайте все посты здесь, Copilot и общие веб -поиск ничего не работает. Некоторые быстрые вещи, которые, как я представляю, люди будут предлагать @bind-value с Cap V, не поддерживаемые в Blazor Использовать вход, используйте @bind-value: event = "onchange" или @bind-value: event = "oniinput", попробуйте @oninput = "@(e => tempuser.username = e.value.tostring ())" Список продолжается. Мне было интересно, была ли это несовместимость браузера, поэтому я скачал Chrome, не удача. Моя проверка в основном говорит, что в текстовом поле нет значения. Я подтвердил, что моя модель правильно создана, и я могу вручную добавить пользовательские модели в БД с помощью EF. Если я удалю проверку, я просто получу ошибку после того, как она не может вставить нулевые поля в дБ. < /P>
Код: Выделить всё
@page "/project"
@using ScrumTestApp.Components.Services
@using System.ComponentModel.DataAnnotations
@using System.Collections.Generic
@using Microsoft.EntityFrameworkCore
@using ScrumTestApp.Models
@using Microsoft.AspNetCore.Components.Forms
@using SystemTask = System.Threading.Tasks.Task;
@inject ProjectService ProjectService
@inject ScrumTestingContext DbContext
Home
Header
Enter UserName
Enter Email
Submit
@message
@TempUser.Username
@TempUser.Email
@code {
private User TempUser { get; set; } = new User();
public string? message { get; set; }
//private UserPassword password1 = new UserPassword();
private async SystemTask HandleSubmit()
{
if (string.IsNullOrEmpty(TempUser.Email) || string.IsNullOrEmpty(TempUser.Username))
{
return;
}
DbContext.Users.Add(TempUser);
await DbContext.SaveChangesAsync();
TempUser = new();
message = $"User {TempUser.Username} submitted successfully!";
}
}
< /code>
Это фрагмент основной тестовой страницы, и вот частичная модель < /p>
public partial class User
{
public int UserId { get; set; }
[Required]
public string Email { get; set; }
[Required]
public string Username { get; set; }
public DateTime? JoinDate { get; set; }
public virtual ICollection Comments { get; set; } = new List();
public virtual ICollection UserPasswords { get; set; } = new List();
public virtual ICollection Projects { get; set; } = new List();
public virtual ICollection Tasks { get; set; } = new List();
}
Подробнее здесь: https://stackoverflow.com/questions/794 ... s-not-bind