「ASP.NET CoreのPageModelのOnPost関数の引数でJSONを受け取る」の版間の差分

提供: MonoBook
ナビゲーションに移動 検索に移動
(ページの作成:「=== nuget === * Microsoft.AspNetCore.Mvc.NewtonsoftJson === service === <source lang="csharp"> builder.Services.AddControllers().AddNewtonsoftJson(); </source> === csht…」)
 
3行目: 3行目:
  
 
=== service ===
 
=== service ===
 +
標準テンプレートではProgram.csあたりにあるサービス生成部分に以下を追加する。
 
<source lang="csharp">
 
<source lang="csharp">
 
builder.Services.AddControllers().AddNewtonsoftJson();
 
builder.Services.AddControllers().AddNewtonsoftJson();

2024年3月7日 (木) 02:16時点における版

nuget

  • Microsoft.AspNetCore.Mvc.NewtonsoftJson

service

標準テンプレートではProgram.csあたりにあるサービス生成部分に以下を追加する。

builder.Services.AddControllers().AddNewtonsoftJson();

cshtml

cshtml内のJavaScriptからPOSTする方法は「ASP.NET CoreでJavaScriptのfetch関数を使う」を参照。

cshtml.cs

前述のAddNewtonsoftJsonでサービスを追加しておけばOnPostおよびOnPostAsyncでNewtonsoft.JsonのJObject型が使えるようになっています。

public async Task<IActionResult> OnPostAsync([FromBody] JObject json)
{
    Console.WriteLine(json);
    return new JsonResult(new { status = "success" });
}