ASP.NET.Net 保存和显示从URL传来的值

问题描述 投票:0回答:2

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

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

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

MY URL

我现在想显示的是 farmName 作为编辑视图的标题,但我不知道如何设置会话字符串的语法,也不知道如何显示它。

c# .net asp.net-mvc asp.net-core
2个回答
0
投票

假设你的标题设置是使用 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
}

这里的路由属性是通过Action Parameter接收的... ...


0
投票

想通了!我是用session string做的

我收到的网址是通过

public async Task<IActionResult> Index( string farmName){
HttpContext.Session.SetString("farmName", farmName);}

然后,只需设置添加参考

@using Microsoft.AspNetCore.Http

然后将标题用

ViewData["Title"] = @Context.Session.GetString("farmName");

© www.soinside.com 2019 - 2024. All rights reserved.