Обновление: я немного изменил форму и добавил немного кода, чтобы попытаться заставить сценарий синхронизировать форму. Я также проверил полезную нагрузку и увидел, что только 2 из 4 полей отправляются в форму, что, вероятно, вызывает плохой запрос.
Обновление: я немного изменил форму и добавил немного кода, чтобы попытаться заставить сценарий синхронизировать форму. Я также проверил полезную нагрузку и увидел, что только 2 из 4 полей отправляются в форму, что, вероятно, вызывает плохой запрос.[code]@page @model RogersPizza.Pages.OrderModel @{ Layout = "Shared/_Layout.cshtml"; } @section title { Order } @section scripts {
} @section siteMenu {
[url=Index]Rogers Pizza[/url] [url=Menu]Menu[/url] Order [url=About]About[/url] [url=Contact]Contact[/url] [url=Employees]Employees[/url]
}
@section body {
Choose your pizza
@foreach(var item in Model?.Pizzas) {
@item.Name }
} < /code> Вот скрипт React внутри формы: < /p> import React from 'react'; import { useState, useEffect } from 'react'; import { createRoot } from 'react-dom/client';
Please have your cash ready when receiving your order.
}
{paymentOption === "giftCard" &&
Please enter your gift card number below.
}
); }
const domNode = document.getElementById('payment-options'); if (domNode) { const root = createRoot(domNode); root.render( ); } < /code> Вот страница модели: < /p> using Microsoft.AspNetCore.Http.HttpResults; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; using Microsoft.EntityFrameworkCore; using RogersPizza.Models;
namespace RogersPizza.Pages { public class OrderModel : PageModel { private readonly RogersPizza.Data.StoreContext _context; private readonly ILogger _logger; [BindProperty] public Order? Order { get; set; }
// private bool ValidateOrder(Order order) // { // return false; // } } } < /code> Вот модель заказа, используемая при привязке формы: < /p> namespace RogersPizza.Models { public class Order { public int? ID { get; set; } public required string Pizza { get; set; } public required string PaymentOption { get; set; } public string? GiftCardNumber { get; set; } } } < /code> В настоящее время моя форма формы не выполняется при отправке формы на странице представления, и я получаю страницу сообщения об ошибке 400 при использовании Chrome с следующим сообщением в консоли: < /p>
Не удалось загрузить ресурс: сервер отвечал статусом 400 () < /p> < /> < /blockquote> paymentOptions=giftCard&Order.ID=999 [/code] Как я могу заставить свою форму правильно отправиться?