C# 如何创建保留请求参数的ActionLink?
我有一个视图响应操作C# 如何创建保留请求参数的ActionLink?,c#,asp.net-mvc,C#,Asp.net Mvc,我有一个视图响应操作/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}
(默认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
相反,我想要的是使操作链接保留所有以前传递的参数,并添加一个新的(如果请求中已有值,则替换它)
我该怎么做
重要的是,我没有硬编码所有可能的参数名,而且我还发现直接对URL进行字符串操作非常不雅观。我还应该注意到,这些参数是完全独立的。有几种方法可以做到这一点,但是,没有一种是完全自动的,您仍然需要明确地告诉ActionLink您在ActionLink中想要什么 关于stackoverflow,有几个问题描述了相同或类似的问题,您可以查看:
Page/Index/{id}?var1=true&var2=true