「ASP.NET CoreのPageModelのOnPost関数の引数でJSONを受け取る」の版間の差分
ナビゲーションに移動
検索に移動
Administrator (トーク | 投稿記録) (ページの作成:「=== nuget === * Microsoft.AspNetCore.Mvc.NewtonsoftJson === service === <source lang="csharp"> builder.Services.AddControllers().AddNewtonsoftJson(); </source> === csht…」) |
Administrator (トーク | 投稿記録) |
||
(同じ利用者による、間の2版が非表示) | |||
3行目: | 3行目: | ||
=== service === | === service === | ||
+ | 標準テンプレートではProgram.csあたりにあるサービス生成部分に以下を追加する。 | ||
<source lang="csharp"> | <source lang="csharp"> | ||
builder.Services.AddControllers().AddNewtonsoftJson(); | builder.Services.AddControllers().AddNewtonsoftJson(); | ||
11行目: | 12行目: | ||
=== cshtml.cs === | === cshtml.cs === | ||
− | + | 前述のサービス追加をしてあるとOnPost(OnPostAsync)やOnPutなどでNewtonsoft.JsonのJObject型が使えるようになっています。 | |
<source lang="csharp"> | <source lang="csharp"> | ||
public async Task<IActionResult> OnPostAsync([FromBody] JObject json) | public async Task<IActionResult> OnPostAsync([FromBody] JObject json) |
2024年3月7日 (木) 02:17時点における最新版
nuget[編集 | ソースを編集]
- Microsoft.AspNetCore.Mvc.NewtonsoftJson
service[編集 | ソースを編集]
標準テンプレートではProgram.csあたりにあるサービス生成部分に以下を追加する。
builder.Services.AddControllers().AddNewtonsoftJson();
cshtml[編集 | ソースを編集]
cshtml内のJavaScriptからPOSTする方法は「ASP.NET CoreでJavaScriptのfetch関数を使う」を参照。
cshtml.cs[編集 | ソースを編集]
前述のサービス追加をしてあるとOnPost(OnPostAsync)やOnPutなどでNewtonsoft.JsonのJObject型が使えるようになっています。
public async Task<IActionResult> OnPostAsync([FromBody] JObject json)
{
Console.WriteLine(json);
return new JsonResult(new { status = "success" });
}