Возникают проблемы с выяснением, почему моя привязка данных для моего сообщения терпит неудачу.
Если я жестко закодирую данные и отправляю их, то это нормально для моего веб-интерфейса.
НО, если я попытаюсь взять данные формы и отправить их - она пуста. и ничто не отправлено мне web api.
Кажется, есть проблема с моим связыванием, и я ничего не могу обнаружить
Сборка приложения - Microsoft Blazor / код бритвы
<h2>Add a new product</h2>
<form>
<table>
<tr>
<td><label>Id</label></td>
<td><input type="text" bind="@Id" /></td>
</tr>
<tr>
<td><label>Name</label></td>
<td><input type="text" bind="@Name" /></td>
</tr>
<tr>
<td><label>Description</label></td>
<td><input type="text" bind="@Description" /></td>
</tr>
<tr>
<td></td>
<td><input type="button" value="Add" @onclick="@(async () => await Add())" /></td>
</tr>
</table>
</form>
}
@code {
private const string APIServer = "https://localhost:44377/api/products";
private Product[] products;
private long Id { get; set; } = 0;
private string Name { get; set; } = "";
private string Description { get; set; } = "";
protected override async Task OnInitializedAsync()
{
products = await Http.GetJsonAsync<Product[]>(APIServer);
}
private async Task Add()
{
//this will not output to debug window nor will console.writeline(), idk why?
System.Diagnostics.Debug.WriteLine("{0} - {1} - {2}",Id,Name,Description);
var newProduct = new Product { Id = Id, Name = Name, Description = Description };
//Name = string.Empty;
//Description = string.Empty;
await Http.PostJsonAsync(APIServer, newProduct);
products = await Http.GetJsonAsync<Product[]>(APIServer);
}