首页 > 解决方案 > ASP.NET:保存和显示从 URL 传递的值

问题描述

我已将字符串值farmName从一个控制器传递到另一个控制器。

<a asp-action="Index" asp-controller="JFTreatment" asp-route-farmName="@item.Farm.Name">link</a>

我可以在我的索引视图中看到它已成功通过:

我的网址

我现在想farmName在我的编辑视图中显示为标题,但我不确定如何设置会话字符串或如何显示它的语法。

标签: c#.netasp.net-mvcasp.net-core

解决方案


假设您使用ViewData["Title"]在每一页上设置的字典设置您的标题。您可以执行以下操作以farmName从 Url 获取。

选项1:直接从查询集合中获取查询值

foreach(var query in HttpContext.Request.Query)
{
  if(query.Key == "farmName")
  {
    ViewData["Title"] = query.Value;
  }
}

选项 2:获取您的路线数据作为方法参数(推荐)

要使此选项起作用,您的Index方法应如下所示:

public IActionResult Index(string farmName, int? plotId = null){
  ViewData["Title"] = farmName;
  ... Some more code
}

这里的路由属性是通过动作参数接收的...


推荐阅读