0

我有一个响应操作的视图/Page/Index/{id}(默认 ASP.NET MVC 路由)。该视图包含指向相同操作的操作链接,该操作具有相同id但在 URL 中添加的参数。我已经放置了这样的东西:

@Html.ActionLink("SetVar1", "Index", new { var1 = "true" } )
@Html.ActionLink("SetVar2", "Index", new { var2 = "true" } )

正如预期的那样,单击其中一个链接会将我重定向到具有相同id和参数的相同操作。

Page/Index/{id}?var1=true

然后再次向用户呈现上述链接。当然,如果用户再次点击另一个动作链接,那里只有新参数。

Page/Index/{id}?var2=true

我想要的是让操作链接保留所有以前传递的参数并添加一个新参数(或者如果它在请求中已经有值,则替换它)。

Page/Index/{id}?var1=true&var2=true

我怎样才能做到这一点?

至关重要的是,我不对所有可能的参数名称进行硬编码,而且我还发现直接对 URL 进行字符串操作非常不雅。我还应该注意,这些参数是完全相互独立的。

4

1 回答 1

1

有几种技术可以做到这一点,但是,它们都不是全自动的,你仍然必须明确地告诉 ActionLink 你在 actionlink 中想要什么。

stackoverflow 上有几个问题描述了相同或类似的问题,您可以查看:

于 2013-05-19T11:07:58.990 回答