リソースの ID を URL の一部として渡す必要があります。タグ ヘルパーを使用して /users/edit/10 のようにリンクをフォーマットする方法はありますか?
別の質問で次の例を見たことがありますが、これにより user/edit?id=10&foo=bar. 本当に私が探しているものではありません。:(
<a asp-action="Edit" asp-route-id="10" asp-route-foo="bar">Edit</a>
以下は、私が到達しようとしている実際の機能です。
[HttpGet]
[Route("[controller]/edit/{blogId:int}")]
public IActionResult BlogEdit(int blogId)
{
Blog blog = _blogRepo.GetById(blogId);
BlogEditViewModel blogEditViewModel = new BlogEditViewModel
{
Title = blog.Title,
Body = blog.Body,
Id = blog.Id
};
ViewBag.Title = "Edit Blog";
return View(blogEditViewModel);
}
以下の a タグを使用してみましたが、それでも正しくないリンクが生成されます。
<a asp-controller="Blog" asp-action="BlogEdit" asp-route-blogId="11">Edit Blog 11</a>
上記のリンクは、以下のパスを生成します。
http://localhost:52409/Blog/edit?blogId=11
ありがとう!