質問があります。ここで、パラメーターをコントローラーに送信して言語を変更する方法についての投稿を読み、コントローラーは変更を処理できます。
これが私が読んだものです:
最初:ルートを追加
routes.MapRoute(
"Default",
"{language}/{controller}/{action}/{id}",
new { language = "en", controller = "Home", action = "Index", id = "" }
);
2 番目: ActionLink を使用してパラメーターを送信する
<li><%= Html.ActionLink(
"Spanish",
ViewContext.RouteData.Values["action"].ToString(),
new { language = "es" })%></li>
<li><%= Html.ActionLink(
"French",
ViewContext.RouteData.Values["action"].ToString(),
new { language = "fr" })%></li>
<li><%= Html.ActionLink(
"English",
ViewContext.RouteData.Values["action"].ToString(),
new { language = "en" })%></li>
今、私はこの解決策を試しましたが、うまくいきました。ただし、機能するのは 1 回だけです。つまり、フランス語をクリックすると、ページがフランス語で表示されます。しかし、ページ上の残りのリンクは、依然としてデフォルトの「en」を指しています。
すべてのリンクが選択した新しい言語を使用するように、デフォルトの「言語」値を選択した言語に変更するにはどうすればよいですか?