Перенаправить на страницу с идентификатором в Razor Pages - PullRequest
0 голосов
/ 31 января 2019

Я пытаюсь заставить мое приложение перенаправить на предыдущую страницу после обновления базы данных, но я не могу понять это.Что усложняет то, что предыдущая страница не просто простая страница.Он заполняется информацией, извлеченной, но определенной строкой в ​​базе данных, поэтому URL имеет

бла-бла-бла ... / ProjectDetails? Id = (идентификационный номер)

Я пытался использовать методы перенаправления, но они не так просты, как я надеялся.Может кто-нибудь помочь мне разобраться, как вернуться на предыдущую страницу?

Просмотр

        <form method="post">
            <select class="custom-select mb-4 col-6" name="Assignee">
                <option>John</option>
                <option>Jane</option>
                <option>Jim</option>
                <option>Juju</option>
            </select>
            <br>
            <button type="submit" class="btn btn-info">Save</button>
            <a class="btn btn-danger" asp-page="./Teamlead">Cancel</a>
        </form>

Код позади

public async Task<IActionResult> OnPostAsync(int id)
        {
            Submission = _SubmissionContext.Submissions
                            .Where(s => s.ID == id).First();
            Submission.AssignedTo = Assignee;
            await _SubmissionContext.SaveChangesAsync();

            return RedirectToRoute("./ProjectDetails"); //PROBLEM HERE

        }

Ответы [ 2 ]

0 голосов
/ 01 февраля 2019

Вам необходимо передать идентификатор на перенаправленную страницу.Вы можете использовать анонимный тип, например:

public async Task<IActionResult> OnPostAsync(int id)
    {
        Submission = _SubmissionContext.Submissions
                        .Where(s => s.ID == id).First();
        Submission.AssignedTo = Assignee;
        await _SubmissionContext.SaveChangesAsync();

        return RedirectToRoute("./ProjectDetails", new { id = Submission.ID });
    }
0 голосов
/ 01 февраля 2019

Вы должны попытаться украсить вид страницы бритвы в верхней части с помощью атрибутов маршрута, например, так:

@page "{id}"

Следующая ссылка, приведенная ниже, должна помочь в качестве примера подробнее о параметрах маршрутизации:

https://www.mikesdotnetting.com/article/310/routing-in-razor-pages

...