简体   繁体   中英

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

How do I get parameter value from the URL in the client side, view?

URL:

localhost:18652/category/1

MapRoute:

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

How do I get ID?

I tested this url:

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

In view I have this:

获取ID

You can get id by this code in example view:

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

In general case, You can use this code:

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

Didn't understand the point of directly getting from URL, Request as your view is always going to get loaded from your controller.

So as derloopkat suggested

In your Home Controller

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

In your view you can use it by calling

@ViewBag.id

此代码更适合您的代码

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM