2つのページがあります編集ページと他のメイン詳細ページこれは、いくつかのエンティティのデータを組み合わせたものです編集ページ内:編集が完了し、データを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は、編集されたエンティティの値です。私は値を使用していて、詳細ページを取得するためにルートで使用する他の1つを以下として取得します。
ManufacturerAuthorizedPerson.ManufacturerId = GetManufacturerId(id);
しかし、詳細ページでは、以下のように投稿ページの編集ページから送信したルートIDからの値
return RedirectToPage("../Detail", ManufacturerAuthorizedPerson.ManufacturerId);
ルートURLとして表示されません。IDの代わりに、編集ページに送信したのと同じです。少し混乱しています。助けが必要です。
EDİT:
ルートベールを次のように変更しました。
if (HttpResponseMessage.IsSuccessStatusCode)
{
return RedirectToPage("../Detail", new {id = ManufacturerAuthorizedPerson.ManufacturerId });
}
そして、IDを正常に送信することができます。
突然、私はこの問題の簡単な解決策を見つけました。次のように入力してください:
return RedirectToPage("../Detail", new {id = ManufacturerAuthorizedPerson.ManufacturerId});