از Blazor 9 دارم برای پروژم استفاده می کنم. یک فرم ساختم که دو تا input ساده داخلش دارم به همراه یک دکمه submit. موقعی که اطلاعات رو وارد میکنم و روی دکمه submit کلیک می کنم با خطای زیر مواجه میشم.
The POST request does not specify which form is being submitted. To fix this, ensure <forms> elements have a @formname attribute with any unique value, or pass a FormName parameter if using <EditForm>
کدهای مربوط به فرم من هم به صورت زیر هست :
<EditForm Model="Input" OnSubmit="SaveProductAsync">
<input @bind=Input.Name type="text" class="form-control" id="name" placeholder="product name">
<label for="name">Name</label>
<input @bind=Input.Price type="number" class="form-control" id="price" placeholder="product price">
<label for="price">Price</label>
<div class="col-12">
<button class="btn btn-primary" type="submit">Save</button>
</div>
</EditForm>
@code {
public ProductDto Input { get; set; }
protected override void OnInitialized()
{
Input ??= new();
}
}
یکی از تغییرات مهم در Blazor 8 نسبت به نسخه های قبلی اضافه شدن یک attribute به نام FormName در تگ EditForm می باشد. در واقع قبلا نیازی نبود که به فرم ها یک نام منحصربفرد اختصاص بدهیم. اما از نسخه 8 ببعد این موضوع اجباری شده است و فرم ها هم باید یک نام اختصاصی و منحصر بفرد برای خود داشته باشند. بنابراین شما برای رفع این مشکل باید کدهای خودتون رو به صورت زیر تغییر بدید :
<EditForm Model="Input" OnSubmit="SaveProductAsync" FormName="myForm1">
...
</EditForm>
@code {
[SupplyParameterFromForm(FormName = "myForm1")]
public ProductDto Input { get; set; }
protected override void OnInitialized()
{
Input ??= new();
}
}
همان طور که ملاحظه می کنید در تگ EditForm از کلمه FormName استفاده کردیم و یک نام منحصربفرد برای فرم اختصاص دادیم. همچنین در قسمت code هم باید از attribute به نام SupplyParameterFromForm استفاده کنیم تا مشخص کنیم که مدلی که مشخص کردیم دقیقا اطلاعات خود را از کدام فرم قرار است دریافت کند. به این ترتیب می توانیم تعداد زیادی Form در صفحه خود داشته باشیم.
تاریخ :
1403/11/30
- ساعت :
12:08:00 PM
- بازدید :
103
- پاسخ :
1
|
تاریخ :
1399/12/21
- ساعت :
10:20:00 AM
- بازدید :
2742
- پاسخ :
1
|
تاریخ :
1399/12/20
- ساعت :
10:32:00 AM
- بازدید :
2592
- پاسخ :
1
|
تاریخ :
1403/12/24
- ساعت :
06:18:00 PM
- بازدید :
47
- پاسخ :
1
|
تاریخ :
1403/12/26
- ساعت :
03:13:00 PM
- بازدید :
27
- پاسخ :
1
|
تاریخ :
1403/12/26
- ساعت :
03:04:00 PM
- بازدید :
30
- پاسخ :
1
|
تاریخ :
1399/09/20
- ساعت :
01:21:00 PM
- بازدید :
6792
- پاسخ :
1
|
تاریخ :
1403/12/01
- ساعت :
11:05:00 AM
- بازدید :
111
- پاسخ :
1
|
تاریخ :
1399/12/21
- ساعت :
10:18:00 AM
- بازدید :
2394
- پاسخ :
1
|
تاریخ :
1399/12/22
- ساعت :
01:34:00 PM
- بازدید :
2774
- پاسخ :
1
|
تاریخ :
1403/12/27
- ساعت :
05:26:00 PM
- بازدید :
19
- پاسخ :
1
|
تاریخ :
1403/12/01
- ساعت :
01:07:00 PM
- بازدید :
138
- پاسخ :
0
|
تاریخ :
1403/11/30
- ساعت :
12:08:00 PM
- بازدید :
103
- پاسخ :
1
|
تاریخ :
1399/12/21
- ساعت :
10:20:00 AM
- بازدید :
2742
- پاسخ :
1
|
تاریخ :
1399/12/20
- ساعت :
10:32:00 AM
- بازدید :
2592
- پاسخ :
1
|
تاریخ :
1403/12/24
- ساعت :
06:18:00 PM
- بازدید :
47
- پاسخ :
1
|
تاریخ :
1403/12/26
- ساعت :
03:28:00 PM
- بازدید :
27
- پاسخ :
1
|
تاریخ :
1403/12/26
- ساعت :
03:13:00 PM
- بازدید :
27
- پاسخ :
1
|
تاریخ :
1403/12/26
- ساعت :
03:04:00 PM
- بازدید :
30
- پاسخ :
1
|
تاریخ :
1403/12/23
- ساعت :
03:14:00 PM
- بازدید :
86
- پاسخ :
1
|