2

リソースの 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

ありがとう!

4

2 に答える 2

0

コメントに基づいて、タグ ヘルパー属性名を からasp-route-idに変更するasp-route-blogidと、動作するはずです。

于 2015-05-14T13:52:42.160 に答える