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は有効値ではないということでしょうか?
ASP.NET のタグも付けてください。
> vs2022 ASP.NET MVC 6 環境
前にも言いましたが、そういうのはありません。手を抜かないできちんと書きましょう。「Visual Studio 2022 で ASP.NET Core MVC アプリをフレームワーク .NET 6.0 で作っています」でしょう? 一事が万事手抜きだと思いますよ。
ASP.NET のタグも付けてください。
無視するならこちらも今後無視します。
×: Visual Studio 2022 ASP.NET Core MVC アプリをフレームワーク .NET 6.0 環境です
〇: Visual Studio 2022 で ASP.NET Core MVC アプリをフレームワーク .NET 6.0 で作っています
自分の回答にベストアンサーを付けてこのスレッドはクローズしたはずだったのですが、ベストアンサーを外したということはまだ未解決で Q&A を続けたいということですか? であれば今の問題・質問は何ですか?