
Visual Studio 2022 ASP.NET Core MVC アプリをフレームワーク .NET 6.0 で作成しています。
問題が起きる前までは、下記のコードでデータの受け渡しが問題なくできていました。
<a asp-action="Edit" asp-route-id="@item.Id"
しかし今回扱うデータベースにidがないため、asp-route-id="@item.Id"とすると当然エラーになります。
// GET: MCodes/Edit/5 public async Task<IActionResult> Edit(string id) { if (id == null) { return NotFound(); } var mCode = await _context.MCodes.FindAsync(id);←エラー if (mCode == null) { return NotFound(); } return View(mCode); }
このデータベースのprimarykey はtype,codeになっています。
試したこと
asp-route-id=@item.type,@item.codeとし、コントローラーのidの部分をtypeに変更したが
「ページが見つかりません」となりました。
しかし、アドレスバーにはtypeとcodeのデータは記載されていました。
追記
他テーブルをデバックしてみたところsystem nullable<T>.HasValue True となるがこのテーブルはsystem nullable<T>.HasValue項目がでませんでした。 type codeは有効値ではないということでしょうか?




