Переопределить OnActionExecuting ():
public class YourController : Controller
{
protected string Lang;
protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
//Lang = filterContext.ActionParameters["lang"];
/* OR */
Lang = filterContext.RouteData.Values["lang"];
}
...
}
Лучше переопределить OnActionExecuting () в базовом контроллере, если он есть в вашем проекте.
UPDATE:
Вы можете удалить «lang» из вашего маршрута и из ваших действий и переместить его в строку запроса:
<%= Html.ActionLink("text", "action", "controller", new { lang = "ru" }, null) %>
с маршрутом по умолчанию даст:
/controller/action/id?lang=ru
Затем в OnActionExecuting:
Lang = Request.QueryString["lang"];