我有一个响应操作的视图/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 进行字符串操作非常不雅。我还应该注意,这些参数是完全相互独立的。