У меня есть компонент Blazor, предназначенный для включения в формы создания/редактирования, который называется AddressSubForm. Он содержит все поля формы, необходимые для адреса. Проблема в том, что раньше я мог просто @bind-Address="Customer.Address", теперь, когда адрес доступен только для чтения, он не сможет изменить подсвойства адреса, чтобы отразить ввод пользователя. . Само по себе это не проблема: создать новый адрес, используя синтаксис with, для создания новых записей путем изменения старых, несложно и несложно. Но у Blazor или Entity Framework (мне неясно, какой именно) сейчас возникают проблемы с отслеживанием изменений в адресе, и он сохраняет значение null для всех столбцов адреса в базе данных.
Моя последняя попытка выглядит так:
Код: Выделить всё
@using System.Linq.Expressions
Address
Street Address
Street Address (line 2)
@code {
[Parameter] public Address Address { get; set; }
[Parameter] public EventCallback AddressChanged { get; set; }
[Parameter] public Expression AddressExpression { get; set; }
private string Street1 { get; set; } = string.Empty;
private string Street2 { get; set; } = string.Empty;
// ...
protected override void OnInitialized()
{
Street1 = Address.Street1;
Street2 = Address.Street2;
// ...
}
}
Подробнее здесь: https://stackoverflow.com/questions/786 ... data-types