Предполагая, что маршрут по умолчанию настроен в Global.asax ({controller}/{action}/{id}
), вы можете сделать так, чтобы действие вашего контроллера приняло параметр id, и средство связывания модели по умолчанию автоматически установило его значение:
public ActionResult Foo(string id)
{
...
}
Если вывы хотите получить это значение идентификатора из какой-то другой части вашего кода, которая имеет доступ к HttpContext
, вам нужно получить его из RouteData
:
var id = HttpContext.Request.RequestContext.RouteData["id"];
RouteData
доступно во всех стандартныхMVC локации.В вашем примере вы использовали статическое свойство HttpContext.Current
, которое никогда не следует использовать.Я подозреваю, что вы пытаетесь получить этот идентификатор из части вашего кода, где вы не должны иметь доступ к HttpContext.Поэтому вам лучше получить это id
, используя стандартные приемы, а затем передать его в качестве параметра другим частям вашего кода.