Подтвердить что ты не робот

Как получить значение маршрута в представлении (Asp.net Mvc)

Есть ли альтернатива для получения значения маршрута на странице просмотра вместо того, чтобы читать его как querystring?

@Html.ActionLink("Language Resources", "Index", "LanguageResource", 
                 new { languageCode = Request.QueryString["languageCode"] , "")
4b9b3361

Ответ 1

Не исключайте, чтобы это было просто:

public ActionResult Action(int id)
{
    return View( id);
}

Укажите тип модели, с которой мы имеем дело с

@model int 

И ссылайтесь на значение строго типизированным способом с помощью:

@Model

Ответ 2

попробуйте найти ниже код

В Razor

@{
    var id = ViewContext.RouteData.Values["id"];
 }

В WebForms:

<% 
    var id = ViewContext.RouteData.Values["id"];
%>

Ответ 3

Вы можете использовать RequestContext

@{
var id = HttpContext.Current.Request.RequestContext.RouteData.Values["id"];
}

Ответ 4

И для менее опытных вы можете получить доступ к контроллеру и действительным частям URL-адреса. (Пример бритвы)

if(ViewContext.RouteData.Values["action"].ToString() == "Account")
{
    @Html.Raw("Hi ") @Session["UserName"]
}

Где

context.MapRoute(
            name: "MyRoute",
            url: "{controller}/{action}/{id}"
}