重定向到 Razor 页面中带有 ID 的页面

ath*_*mas 3 redirect routes .net-core razor-pages

我试图让我的应用程序在更新数据库后重定向到上一页,但我似乎无法弄清楚。更复杂的是,上一页不仅仅是一个简单的页面。它填充了提取的信息但数据库中的特定行,因此 URL 具有

等等等等.../ProjectDetails?id=(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>
Run Code Online (Sandbox Code Playgroud)

背后的代码

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

        }
Run Code Online (Sandbox Code Playgroud)

Bra*_*ton 6

您需要将 id 传递给重定向的页面。您可以使用匿名类型来执行此操作:

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 });
    }
Run Code Online (Sandbox Code Playgroud)