0

I'm just starting to learn Blazor and I have a problem, I made a simple crud app with Blazor Telerik and everything works but I can't save any changes to my app

Here is GridData

TelerikGrid Data=@uzytkownicy Sortable="true" Pageable="true" Height="300px">
    <GridToolBar>
        <TelerikButton OnClick="@DodajU">Dodaj użytkownika</TelerikButton>
        <GridSearchBox DebounceDelay="200"></GridSearchBox>
    </GridToolBar>
    <GridColumns>
        <GridColumn Field=@nameof(Uzytkowniccy.Imie) Title="Imie" Editable="true" />

...
 <GridCommandButton Command="Edit" Icon="edit" OnClick="@EdytujRekord">Edycja</GridCommandButton>
            <GridCommandButton Command="Delete" Icon="delete" OnClick="@DeleteItem">Usuń</GridCommandButton>

This is my Window Form Edit

TelerikWindow Visible="@isVisible" VisibleChanged="VisibleChangedHandler" Width="1100px" Height="400px" Centered="true" Modal="true">
    <WindowTitle>
        <strong>@TytulOkna</strong>
    </WindowTitle>
    <WindowContent>
        <TelerikForm Model="@uzytkownik" OnValidSubmit="@OnValidSubmit" ValidationMessageType="@FormValidationMessageType.Inline" Class="my-telerik-form" Columns="3" ColumnSpacing="25px">
            <FormValidation>
                <DataAnnotationsValidator />
            </FormValidation>

....

 <FormButtons>
                <TelerikButton ButtonType="@ButtonType.Submit" Primary="true">Zapisz</TelerikButton>
                <TelerikButton OnClick="@CloseWindow" ButtonType="ButtonType.Button">Zamknij</TelerikButton>
            </FormButtons>
        </TelerikForm>

And here is my C# code there are add edit and delete methods in C # code

    [Parameter] public Uzytkowniccy uzytkownik { get; set; }
    [Parameter] public EventCallback OnValidSubmit { get; set; }
    private string TytulOkna { get; set; }

    bool isVisible { get; set; }
    string result { get; set; }
    bool Dodaj { get; set; }
    bool Record { get; set; }

 public void DodajU()
    {
        Record = true;
        uzytkownik = new Uzytkowniccy();
        uzytkownik.Imie = uzytkownik.Nazwisko = uzytkownik.Email = uzytkownik.Email = uzytkownik.Login = uzytkownik.Password = uzytkownik.PPassword = String.Empty;
        isVisible = true;
    }

    public void EdytujRekord(GridCommandEventArgs args)
    {
        Record = false;
        uzytkownik = (args.Item as Uzytkowniccy);
        isVisible = true;
    }

   async Task DeleteItem(GridCommandEventArgs args)
    {
        var argsItem = (Uzytkowniccy)args.Item;
        var httpResponseMessage = await Http.DeleteAsync($"api/uzytkownicy/{argsItem.Id}");
        if (httpResponseMessage.IsSuccessStatusCode)
        {
            uzytkownicy.Remove(argsItem);
        }
    }

This is part which doesn't work I can't edit data add data work but edit existing record don't work

    async Task OnValidSubmit(object obj)
    {
        isVisible = false;
        if (obj != null)
        {
            if (Record)
            {
                await Http.PostAsJsonAsync("api/uzytkownicy", uzytkownik);
            }
            else
                await Http.PutAsJsonAsync("api/uzytkownicy", uzytkownik);
        }

      użytkownicy =  await Http.GetFromJsonAsync<List<Uzytkowniccy>>("api/uzytkownicy");
    }

    }

0 Answers0