Задать вопрос
@marshmallo_w

Почему OnPost запрос не работает?

Начала изучать Asp Net Core 2. Имеется страница razor page и в ней не работает post запрос: при нажатии на кнопку выводит, что страница не доступна. Если отправлять форму get запросом, то все работает. Что я делаю не так?
И еще как можно указать, каким обработчиком должна обрабатываться форма? Видела способ через asp-page-handler, но у меня не сработало (только через скрытый тег удалось подключиться)
@page
@functions
{
    public string Number1 {get; set;}
    public void OnPost(string numb2)
    {
        Model.Number1=numb2;
    }
    public void OnPostCalc(string numb1)
    {
        Model.Number1=numb1;
    }
}
<!DOCTYPE html>
<html>
    <head>
        <title>Razor Pages</title>
    </head>
    <body>
        <p>Здравствуйте! @Model.Number1</p>
        <form method="post" name="form1">
            <input type="hidden" name="handler" value="calc"/>
            <input type="text" name="numb1"/>
            <input type="text" name="numb2"/>
            <input type="submit" value="Посчитать" name="sub"/>
        </form>
    </body>
</html>
  • Вопрос задан
  • 276 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
petermzg
@petermzg
Самый лучший программист
В документации тут написано
Директива @functions позволяет странице Razor добавлять в представление блок кода C#:

и приведен пример как этот блок кода сразу вызывается.
Это исполнение кода в момент генерации страницы, а не код выполняемый на клиентской стороне.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы