Код Blazor Razor неправильно привязывается при попытке опубликовать в веб-API - PullRequest
0 голосов
/ 12 марта 2020

Возникают проблемы с выяснением, почему моя привязка данных для моего сообщения терпит неудачу.

Если я жестко закодирую данные и отправляю их, то это нормально для моего веб-интерфейса.

НО, если я попытаюсь взять данные формы и отправить их - она ​​пуста. и ничто не отправлено мне 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);
    }

1 Ответ

0 голосов
/ 12 марта 2020

Это может быть связано с прослушиванием привязок метода onChange ().

Мне пришлось добавить «@» перед «связать» при связывании всех элементов формы, чтобы решить эту проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...