دسته بندی ها
17:26 1403/12/27

خطای The POST request not specify which form being submitted

مشخصات سوال کننده :
کاربر : hakan2025     امتیاز کاربر : 3     رتبه کاربر : 136
دسته بندی : Blazor

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 565
پاسخ دهنده : fateme 17:33 1403/12/27

استفاده از ویژگی FormName در فرم های Blazor

یکی از تغییرات مهم در 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 در صفحه خود داشته باشیم.

ویرایش شده در دوشنبه 27 اسفند 1403 ساعت 17:34:28
به این پاسخ امتیاز بدهید    0
امتیاز: 1617 رتبه: 2
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود