gpt4 book ai didi

button - Blazor EditForm 中的多个提交按钮?

转载 作者:行者123 更新时间:2023-12-01 00:11:34 24 4
gpt4 key购买 nike

使用 AspNet Blazor 及其 EditForm:
我正在创建一个简单的表单,它应该包含一个更新和一个删除按钮。我似乎没有找到任何关于如何将参数传递给提交的示例。

我试图在删除按钮中放置一个@onclick 指向DeleteObject,但后来我没有得到验证(在这种情况下我实际上不需要验证,但无论如何我都想这样做),而且在之后也调用了 SaveObject删除...

<EditForm Model="@selectedCar" OnValidSubmit="@SaveObject">
<DataAnnotationsValidator />
<ValidationSummary />

....My <InputText>'s for all values I have in my object

<button type="submit" class="btn btn-primary" value="Save">Spara</button>
<button type="submit" class="btn btn-primary" value="Delete">Delete</button>
</EditForm>


@code {
[Parameter]
public string Id { get; set; }

CarModel selectedCar;

protected override async Task OnInitializedAsync()
{
selectedCar = await _CarService.GetCar(int.Parse(Id));
}

protected async Task SaveObject()
{
selectedCar.Id = await _CarService.SaveCar(selectedCar);
}

protected async Task DeleteObject(int Id)
{
selectedCar.Id = await _CarService.DeleteCar(selectedCar);
}
}

我希望能够为每个按钮调用特定的功能,而无需进行验证。

任何人都知道如何做到这一点?

最佳答案

好的,我最终得到了以下解决方案。它似乎按预期工作。

<EditForm Model="@selectedCar" Context="formContext">

<DataAnnotationsValidator />
<ValidationSummary />

....My <InputText>'s for all values I have in my object

<button type="submit" class="btn btn-primary" @onclick="@(() => SaveCar(formContext))">Save</button>
<button type="submit" class="btn btn-primary" @onclick="@(() => UpdateStockQuantity(formContext))">Update stock quantity</button>
<button type="submit" class="btn btn-secondary" @onclick="@(() => DeleteCar(formContext))">Delete</button>
</EditForm>

@code {
[Parameter]
public string Id { get; set; }

CarModel selectedCar;

protected override async Task OnInitializedAsync()
{
selectedCar = await _CarService.GetCar(int.Parse(Id));
}

protected async Task SaveCar(EditContext formContext)
{
bool formIsValid = formContext.Validate();
if (formIsValid == false)
return;

selectedCar.Id = await _CarService.SaveCar(selectedCar);
}

... plus same approach with UpdateStockQuantity and DeleteCar.

}

关于button - Blazor EditForm 中的多个提交按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58231592/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com