0

アクションに応答するビューがあります/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 に対して直接文字列操作を行うのは非常に洗練されていないと思います。パラメータは互いに完全に独立していることにも注意してください。

4

1 に答える 1

1

これを行うにはいくつかの手法がありますが、いずれも完全に自動化されたものではなく、actionlink 内で何が必要かを ActionLink に明示的に伝える必要があります。

チェックアウトできる同じまたは類似の問題を説明するスタックオーバーフローに関するいくつかの質問があります。

于 2013-05-19T11:07:58.990 に答える