アクションに応答するビューがあります/Page/Index/{id}
(既定の ASP.NET MVC ルーティング)。ビューには、同じアクションにつながるアクション リンクが含まれていid
ますが、URL にパラメーターが追加されています。私はこのようなものを配置しました:
@Html.ActionLink("SetVar1", "Index", new { var1 = "true" } )
@Html.ActionLink("SetVar2", "Index", new { var2 = "true" } )
予想どおり、これらのリンクの 1 つをクリックすると、同じパラメーターを使用して同じアクションにリダイレクトされid
ます。
Page/Index/{id}?var1=true
その後、ユーザーには上記のリンクが再度表示されます。もちろん、ユーザーが別のアクション リンクをもう一度クリックすると、新しいパラメーターのみが表示されます。
Page/Index/{id}?var2=true
代わりに、アクション リンクに以前に渡されたすべてのパラメーターを保持させ、新しいパラメーターを追加する(または、要求に既に値がある場合はそれを置き換える) ようにすることです。
Page/Index/{id}?var1=true&var2=true
どうやってやるの?
考えられるすべてのパラメーター名をハードコーディングしないことが重要です。また、URL に対して直接文字列操作を行うのは非常に洗練されていないと思います。パラメータは互いに完全に独立していることにも注意してください。