ASP.NET MVC - 从视图中的 URL 获取参数值

ASP.NET MVC - Get parameter value from URL in the view

如何从客户端视图中的 URL 获取参数值?

URL:

localhost:18652/category/1

地图路线:

 routes.MapRoute(
     name: "ResultsByCategory",
     url: "category/{id}",
     defaults: new { controller = "Home", action = "ResultsByCategory"}
 );

如何获取 ID?

我测试了这个 url:

http://localhost:1865/category/Index/1

鉴于我有这个:

您可以在示例视图中通过此代码获取 ID:

@{
    var id = Request.Url.Segments[3];
}

一般情况下,您可以使用此代码:

@{
    var id = Request.Url.Segments.Last();
}

不明白直接从 URL 获取的意义,因为您的视图总是会从您的控制器加载请求。

正如 derloopkat 所建议的那样

在您的家庭控制器中

Public ActionResult ResultsByCategory (int id)
{
  ViewBag.id = id;
  return View();
} 

在你看来你可以通过调用

来使用它
@ViewBag.id

此代码更适合您的代码

string id = Request.Path.Value.Split('/').LastOrDefault();