C# 如何处理控制器动作上的动态参数量?

C# 如何处理控制器动作上的动态参数量?,c#,asp.net-mvc,C#,Asp.net Mvc,我正在ASP.NET MVC视图中托管一个iframe,我必须将某些参数传递给这个iframe的srcurl。它们以简单字符串/字符串键值对的形式出现,例如http://test.test?param1=value1¶m2=value2 目标是让我自己的控制器动作的url决定这些参数是什么。基本上是这样的: 用户转到http://www.myapp.com/MyController/Index?param1=value1¶m2=value2 我在公共操作结果索引(Dictiona

我正在ASP.NET MVC视图中托管一个
iframe
,我必须将某些参数传递给这个
iframe
src
url。它们以简单字符串/字符串键值对的形式出现,例如
http://test.test?param1=value1¶m2=value2

目标是让我自己的控制器动作的url决定这些参数是什么。基本上是这样的:

  • 用户转到
    http://www.myapp.com/MyController/Index?param1=value1¶m2=value2
  • 我在
    公共操作结果索引(Dictionary dynamicParameters)
  • 在我看来,我基于
    dynamicParameters
    包含的内容构建
    iframe
    的url。如果使用其他参数、不同值调用操作。。。所有这些都干净地传递给了这个
    iframe
  • 我在第一步和第二步遇到问题。我不确定url应该是哪种格式(我正在其他地方使用
    url.Action()
    为记录构建此url),也不确定如何接收控制器操作中的参数


    我用
    dynamic
    dynamic[]
    Dictionary
    ,尝试了几种不同的方法。。。到目前为止都没有运气。这样做可能吗?

    当您的参数是高度动态的时,您不需要在action方法的签名中声明它们——相反,您可以通过访问它们。对于Url.Action,您可以将
    字典
    作为路由值集合传递。查询字符串中包含的任何与声明的路由参数不匹配的参数都应追加到查询字符串中。

    如果您可以共享到目前为止的进度,那就太棒了。您可以创建自定义路由处理程序