c# - 操作使用变量值作为参数名称

标签 c# asp.net-mvc

我有这个操作方法:

public IActionResult SearchHeader(string query, string filter)
{
    return RedirectToAction("Search", new { filter = query });
}

除了传递给 Search action 方法 的参数被称为 filter 之外,我需要将其称为 传递到 SearchHeader action 方法filter 变量的值...我该怎么做?

例如,如果 filter 的值为 Name 并且 query 的值为 Bob 那么我想要它路由到

.../Search/?Name=Bob

最佳答案

看起来您想要 filter 的字符串值在路由中使用,而不是当前代码所做的文字值“filter”。

为此,您可以使用 RedirectToAction()需要 RouteValueDictionary 的过载并填写字典键filterquery :

var dictionary = new RouteValueDictionary();
dictionary[filter] = query;
return RedirectToAction("Search", dictionary);

关于c# - 操作使用变量值作为参数名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36458258/

相关文章:

c# - 使用 discard 关键字丢弃任务会导致任何副作用吗?

c# - 如何在 Windows CE 6.0 设备中配置 VPN 客户端

c# - 安装一个或多个程序的安装程序

c# - 如何使用 Crystal Report Visual Studio 2013 在条形图中添加 2 个系列

c# - 无法使 EF 与我现有的数据库一起使用

c# - 当我输入超过列长度的数据时,它不会在 ASP.NET 中引发异常

c# - Vector_Point_to_Mat 和 Vector_Point2f_to_Mat 有什么区别

asp.net-mvc - 如何将 "required"属性添加到 mvc razor View 模型文本输入编辑器

asp.net-mvc - Apache tomcat 中的 MVC ASP.NET

asp.net-mvc - 如何使用 ASP.NET MVC 调试查看 Controller 生成的 html?