こんにちは。
ASP.NET Coreについて初学者なので拙いところもあると思いますが、よろしくお願いします。
実現したいこと
以下のような表がHTMLであるとします。
ID | 果物 | |
---|---|---|
1 | りんご | 詳細 |
2 | みかん | 詳細 |
3 | キウイ | 詳細 |
[詳細]部分はリンクになっていて、各々の詳細情報が見られるようにしたいです。
しかし実装しても405が返ってきてページが表示されません。
どこでミスしてるのか見当がつかないので、回答よろしくお願いします。
###コード
以下抜粋してコードを記載します。
Model
1using System; 2using System.Collections.Generic; 3using System.Linq; 4using System.Threading.Tasks; 5using System.ComponentModel; 6using System.ComponentModel.DataAnnotations; 7 8 9namespace Sample.Models 10{ 11 [DisplayColumn("Body")] 12 public class FruitsModel 13 { 14 public int Id { get; set; } 15 16 [DisplayName(" 果物 ")] 17 public string Fruits { get; set; } 18 } 19 20}
Controller
1 2using System; 3using System.Collections.Generic; 4using System.Linq; 5using System.Threading.Tasks; 6using Microsoft.AspNetCore.Mvc; 7using Microsoft.EntityFrameworkCore; 8using Sample.Data; 9using Sample.Models; 10 11namespace Sample.Controllers 12{ 13 public class FruitsModelsController : Controller 14 { 15 16 private readonly MyDbContext _context; 17 18 public FruitsModelsController(MyDbContext context) 19 { 20 _context = context; 21 } 22 23 public async Task<IActionResult> Index() 24 { 25 return View(await _context.FruitsModels.ToListAsync()); 26 } 27 28 [HttpPost] 29 [ValidateAntiForgeryToken] 30 public async Task<IActionResult> Details(int? id) 31 { 32 if (id == null) 33 { 34 return NotFound(); 35 } 36 37 var FruitsDetail = await _context.FruitsModels.FirstOrDefaultAsync(m => m.Id == id); 38 if (FruitsDetail == null) 39 { 40 return NotFound(); 41 } 42 43 return View(FruitsDetail); 44 } 45 46 } 47} 48
View
1@model Sample.Models.FruitsModel 2 3~中略~ 4 5<table class="table" border="1"> 6 <tr> 7 <th> 8 @Html.DisplayNameFor(model => model.Id) 9 </th> 10 <th> 11 @Html.DisplayNameFor(model => model.Fruits) 12 </th> 13 <th> 14 </th> 15 </tr> 16 @foreach (var item in Model) 17 { 18 <tr> 19 <td> 20 @Html.DisplayFor(modelItem => item.Id) 21 </td> 22 <td> 23 @Html.DisplayFor(modelItem => item.Fruits) 24 </td> 25 <td> 26 <a asp-action="Details" asp-route-id="@item.Id">詳細</a> 27 </td> 28 </tr> 29 } 30 </table>
###分からないところ
MVC以外にも、変更や書き足すべきところがあるのか、
404や405が返ってきた時に、普通疑う場所はどの部分かなどを教えてほしいです。
よろしくお願いします。
補足情報
Visual Studio 2017 Community
Microsoft.AspNetCore.All 2.2.8
Windows10 Pro 1909
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/02/17 04:08