【问题标题】:asp.net core 2 razor pages route with id带有 id 的 asp.net core 2 razor pages 路由
【发布时间】:2018-02-17 02:19:21
【问题描述】:

有两个页面,一个是Edit page,另一个是Main Detail page,它是一些实体的组合数据 在编辑页面中: 编辑完成后,我将数据发布到 API,如下所示

public async Task<IActionResult> OnPostAsync(Guid id)
    {
        ManufacturerAuthorizedPerson.Id = id;
        ManufacturerAuthorizedPerson.ManufacturerId = GetManufacturerId(id);
        if (!ModelState.IsValid)
        {
            await OnGetAsync(id);
            return Page();
        }
        HttpResponseMessage = await httpSystemApi.PutAsync("ManufacturerAuthorizedPersons", ManufacturerAuthorizedPerson);
        if (HttpResponseMessage.IsSuccessStatusCode)
        {
            return RedirectToPage("../Detail", ManufacturerAuthorizedPerson.ManufacturerId);
        }
        else
        {
            await OnGetAsync(id);
            return Page();
        }
    }

OnPostMethod(Guid id)中的ID是编辑实体的值。我正在使用该值并让另一个值在 below 的路径中使用以获取详细信息页面。

ManufacturerAuthorizedPerson.ManufacturerId = GetManufacturerId(id);

但在详细信息页面上,值来自我从编辑页面发布方法发送的路由 ID,如下所示

 return RedirectToPage("../Detail", ManufacturerAuthorizedPerson.ManufacturerId);

不显示为路由 URL。而不是 ID 与我发送到编辑页面的相同。 有点迷茫。 需要帮助。

【问题讨论】:

  • 为什么不能重定向到行动?检查this SO
  • 编辑页面位置:Pages/X/Y/Edit 和 Detail 页面位置 Pages/X/Detail 所以我使用 RedirectToPage 方法。

标签: c# asp.net-core-2.0 razor-pages


【解决方案1】:

突然间,我找到了解决这个问题的简单方法。你应该输入:

return RedirectToPage("../Detail", new {id = ManufacturerAuthorizedPerson.ManufacturerId});

【讨论】:

    猜你喜欢
    • 2019-07-05
    • 2020-10-27
    • 2018-10-29
    • 2019-07-27
    • 2022-07-14
    • 2019-03-25
    • 2016-11-19
    • 2020-06-27
    • 2019-05-22
    相关资源
    最近更新 更多