Использование IsPost на странице asp. net core razor для отображения текста после отправки формы - PullRequest
0 голосов
/ 30 мая 2020

Я пытаюсь использовать метод IsPost на своей asp. net основной веб-странице, но он говорит, что он не существует в текущем контексте. Поскольку я не использую MVC (кроме того факта, что у меня есть папка моделей), могу ли я использовать IsPost на моей странице с бритвой? В основном я пытаюсь отобразить текст подтверждения на той же странице после того, как пользователь нажимает кнопку отправки, поэтому, если у кого-то есть лучший способ сделать это, предложите это. Спасибо

FreeConsultation.cs html

@page
@model GuptaAccounting.Pages.FreeConsultationModel
@{
    ViewData["Title"] = "FreeConsultation";
}

<head>
    <script src="~/js/site.js"></script>
</head>

<div class="container" style="padding:30px;">
    <br />
    <h1 class="text-info">Get a FREE Consultation</h1>
    <br />
    @if (IsPost)
    {
        <p>Consultation requested. I will get back to you as soon as possible</p>
    }
    else
    {
        <form method="post">
            <div class="text-danger" asp-validation-summary="ModelOnly"></div>
            
            <!-- More of the form here -->
            
                        <div class="form-group row">
                <div class="col-3 offset-3">
                    <input type="submit" value="Submit" onclick="return Validate()"  class="btn btn-primary form-control" />
                </div>
            </div>
        </form>
    }

FreeConsultation.cs html .cs

public class FreeConsultationModel : PageModel
{
    private readonly ApplicationDbContext _db;

    public FreeConsultationModel(ApplicationDbContext db)
    {
        _db = db;
    }

    [BindProperty]
    public Client Client { get; set; }

    public void OnGet()
    {

    }

    public async Task<IActionResult> OnPost()
    {
        if (ModelState.IsValid)
        {
            Client.IsConsultationClient = true;
            await _db.Client.AddAsync(Client);
            await _db.SaveChangesAsync();

            return RedirectToPage("Index");
        }
        else
        {
            return Page();
        }
    }
}

1 Ответ

2 голосов
/ 30 мая 2020

Я не думаю, что у бритвенных страниц есть метод IsPost, но вы можете добавить свойство IsPost в свой FreeConsultationModel и установить для него значение true в методе OnPost ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...