Как получить значение id в Url из Razor View в ASP.NET Керн

у меня есть простой ASP.NET основное веб-приложение с такой страницей http://localhost:5050/Posts/Create/3.

в моем представлении Razor Views/Posts/Create.cshtml, как бы я мог получить значение "3", чтобы я мог создать ссылку, как <a href="/Blogs/Details/3">« Back to Blog</a>?

до сих пор создал ссылку, используя следующий помощник тега, но я не знаю, что поставить для asp-route-id:

<a asp-controller="Blogs" asp-action="Details" asp-route-id="" class="btn btn-default btn pull-right">&laquo; Back</a>

я просто использую маршрут mvc по умолчанию:

app.UseMvc(routes =>
{
    routes.MapRoute(
        name: "default",
        template: "{controller=Home}/{action=Index}/{id?}");
});

Я знаю, что могу получить его из модели (т. е. Model.Blog.BlogId), но я хотите получить его из URL, используя что-то вроде Request.Query["id"] на Views/Post/Create.cshtml.

пробовал asp-route-id="@Context.Request.Query["id"].

3 ответов


что-то вроде этого Context.GetRouteData().Values["id"]; ?

также http://www.blakepell.com/how-to-get-the-current-route-in-a-view-with-asp-net-5-mvc-6


В настоящее время в ASP.NET Core 2.1 это работает:

Context.Request.Query["id"]

для aspcore 2.1 используйте:HttpContextAccessor.HttpContext.Request.Query["id"]