【发布时间】:2021-04-22 21:45:29
【问题描述】:
我希望我的网页是多语言的。这就是为什么我创建了一个将会话变量更改为例如 fr(法语)的 Button。它是通过更改会话变量的操作结果来完成的。现在我不确定操作结果应该返回什么,所以我将进入与以前相同的页面。你能帮帮我吗?
【问题讨论】:
标签: c# asp.net-mvc actionresult .net-framework-4.8
我希望我的网页是多语言的。这就是为什么我创建了一个将会话变量更改为例如 fr(法语)的 Button。它是通过更改会话变量的操作结果来完成的。现在我不确定操作结果应该返回什么,所以我将进入与以前相同的页面。你能帮帮我吗?
【问题讨论】:
标签: c# asp.net-mvc actionresult .net-framework-4.8
你不能,不是你描述的那样。
您可以将语言设置为查询中的参数,或者作为常规查询参数 (http://example.com/page?lang=kr) 或使用 URL 重写 (http://example.com/kr/page) 并在视图中使用该参数来呈现正确的语言.
当您开始编写语言更改链接时,您可以像平常一样使用操作链接,但会覆盖语言参数。
【讨论】:
方式 1:使用相同的返回 url 概念,使用用于在登录后将用户重定向回同一页面的查询字符串
方式2:使用ajax请求更改语言,成功后重新加载
方式3:在url中添加语言
【讨论】:
实际上我自己找到了一种方法,如果我在 ActionResult 中使用它,页面会刷新并且我的语言会改变。
return Redirect(HttpContext.Request.UrlReferrer.AbsoluteUri);
通过使用它,您只需重新加载之前加载的页面,因此当我的操作控制器更改语言的变量时,它会从我的数据库中提取正确的文本并通过重新加载来使用它们。
【讨论】: