Ответ 1
Не исключайте, чтобы это было просто:
public ActionResult Action(int id)
{
return View( id);
}
Укажите тип модели, с которой мы имеем дело с
@model int
И ссылайтесь на значение строго типизированным способом с помощью:
@Model
Есть ли альтернатива для получения значения маршрута на странице просмотра вместо того, чтобы читать его как querystring?
@Html.ActionLink("Language Resources", "Index", "LanguageResource",
new { languageCode = Request.QueryString["languageCode"] , "")
Не исключайте, чтобы это было просто:
public ActionResult Action(int id)
{
return View( id);
}
Укажите тип модели, с которой мы имеем дело с
@model int
И ссылайтесь на значение строго типизированным способом с помощью:
@Model
попробуйте найти ниже код
В Razor
@{
var id = ViewContext.RouteData.Values["id"];
}
В WebForms:
<%
var id = ViewContext.RouteData.Values["id"];
%>
Вы можете использовать RequestContext
@{
var id = HttpContext.Current.Request.RequestContext.RouteData.Values["id"];
}
И для менее опытных вы можете получить доступ к контроллеру и действительным частям URL-адреса. (Пример бритвы)
if(ViewContext.RouteData.Values["action"].ToString() == "Account")
{
@Html.Raw("Hi ") @Session["UserName"]
}
Где
context.MapRoute(
name: "MyRoute",
url: "{controller}/{action}/{id}"
}