首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Asp.Net MVC区域性Cookie更改,但在第二次刷新之前不会更改UI语言

在Asp.Net MVC中,区域性(Localization)是指根据用户的语言偏好来显示相应的界面语言和文化习惯。而Cookie是一种在客户端存储数据的机制,可以用于在不同页面之间传递数据。

要实现区域性Cookie的更改,可以按照以下步骤进行:

  1. 配置支持区域性:在Asp.Net MVC的配置文件中,需要启用区域性支持。可以通过在Web.config文件中的system.web节点下添加以下配置来实现:
代码语言:xml
复制
<globalization uiCulture="auto" culture="auto" />
  1. 创建区域性Cookie:在控制器中,可以使用Response.Cookies对象来创建和设置区域性Cookie。例如,可以在登录成功后的操作中添加以下代码:
代码语言:csharp
复制
HttpCookie cultureCookie = new HttpCookie("Culture", "en-US");
Response.Cookies.Add(cultureCookie);
  1. 读取区域性Cookie:在需要使用区域性信息的地方,可以通过Request.Cookies对象来读取区域性Cookie的值。例如,可以在视图中的布局文件中添加以下代码:
代码语言:csharp
复制
@{
    var cultureCookie = Request.Cookies["Culture"];
    var culture = cultureCookie != null ? cultureCookie.Value : "en-US";
}
  1. 设置UI语言:根据读取到的区域性Cookie的值,可以设置UI语言。可以使用Thread.CurrentThread.CurrentCultureThread.CurrentThread.CurrentUICulture属性来设置当前线程的语言。例如,在控制器的操作中添加以下代码:
代码语言:csharp
复制
Thread.CurrentThread.CurrentCulture = new CultureInfo(culture);
Thread.CurrentThread.CurrentUICulture = new CultureInfo(culture);
  1. 刷新页面:在设置完UI语言后,需要刷新页面才能使更改生效。可以使用return RedirectToAction("ActionName", "ControllerName")方法来重定向到当前页面,从而实现刷新。

总结:

Asp.Net MVC区域性Cookie更改是通过配置支持区域性、创建和读取区域性Cookie、设置UI语言和刷新页面来实现的。通过这种方式,可以根据用户的语言偏好来显示相应的界面语言和文化习惯。

推荐的腾讯云相关产品:腾讯云云服务器(CVM)和腾讯云内容分发网络(CDN)。腾讯云云服务器提供可扩展的计算能力,适用于各种应用场景。腾讯云内容分发网络可以加速网站和应用的内容传输,提供更好的用户体验。

腾讯云云服务器产品介绍链接:https://cloud.tencent.com/product/cvm

腾讯云内容分发网络产品介绍链接:https://cloud.tencent.com/product/cdn

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

ASP.NET Core 各版本特性简单整理

Core 1.1 的新增功能 新增功能: URL 重写中间件 响应缓存中间件 查看组件即标记帮助程序 MVC 型中间件筛选器 基于 Cookie 的 TempData 提供程序 Azure App Service...MessagePack等) Razor 类库(Razor Class Library) Identity UI 库 HTTPS GDPR(注:刚出来时,很多人发现Cookie写入不了就是因为开启了它)...注:.NET Core 3.0 增加了 Winform 和 WPF 但在此时 Winform 的设计器还是预览版 v3.1 Release Time:2019.12.4 Release Note: https...Core 5.0 的新增功能 新增功能: ASP.NET Core MVC 和 Razor 改进 OpenAPI 规范默认开启 Blazor 性能改进、增加组件 gRPC 性能改进...Core 项目运行 dotnet watch 将启动默认浏览器,并在对代码进行更改时自动刷新浏览器 控制台记录器格式化程序 JSON Console Logger 性能改进 显著减少了

3.3K20
  • ASP.NET安全

    ASP.NET 安全 概述   安全在web领域是一个永远都不会过时的话题,今天我们就来看一看一些在开发ASP.NET MVC应用程序时一些值得我们注意的安全问题。...ASP.NET能够检测到这个cookie,这个cookie中包含了用户的认证信息,那么后面就不需要再重复的认证用户了。...窃取cookie 更改用户设置 下载恶意软件 更改内容 账户劫持 简单的说,我们可以通过XSS访问用户的个人信息以及身份信息。 XSS示例 ?...在ASP.NET MVC中razor默认会对所有输出进行html编码。这是ASP.NET MVC针对XSS攻击的另一道防火墙。...当然这个并没有错,毕竟如果每次都去验证用户名和密码是一次不小的开销,验证一次之后将登录信息保存到cookie中,至少在用户不关闭浏览器之前,我们不用再重新去验证用户。 安全隐患在哪里?

    2.7K80

    温故知新 .Net重定向深度分析

    http://www.news.com",false); // 参数2控制当前页执行是否应该终止   Server.Transfer 方法在服务器转向新的页面请求,并停止当前页面的执行;因为服务器不会更改通知给客户端浏览器...由于页面地址在浏览器中不会更改,因此用户有可能会感觉异样。...MVC以至于.NET Core均淡化了服务端重定向的操作,可采用MVC Controller/Action替代 合理选择重定向方式 以上核心差异, 某些情况下需要合理选择重定向方式: ① 性能:直接的观感是...307 “临时重定向”   指示所请求的资源已被临时移动到Location标头提供的URL; 307和302之间的唯一区别是307保证在发出重定向请求时,Method和Body不会更改,当重定向地址是非...Core ● 2020年了,再不会Https就老了 ● 全网最深刻的ASP.NET Core跨平台技术内幕

    1.4K20

    ASP.NET的命名空间

    ASP.NET的命名空间 命名空间(namespace) ASP.NET中的各种语言使用的一种代码组织的形式。...附加的类则提供了一些功能,用于服务器端的应用程序以及进程、Cookie管理、文件传输、异常信息和输出缓存的控制。...System.Web.UI.WebControls 说明:创建ASP.NET服务器控件的类,当添加到窗体时,这些控件将呈现浏览器特定的HTML和脚本,用于创建和设备无关的Web用户界面。...System.Web.UI.MobileControls 说明:包括一组ASP.NET服务器控件,这些控件可以针对不同的移动设备呈现应用程序。...本地化命名空间 System.Globalization 说明:定义与区域性相关的信息,其中包括语言、国家、地区、日历、日期格式的模式、货币和数字、以及字符串的排序顺序。

    2.8K10

    ASP.NET Core 实战:将 .NET Core 2.0 项目升级到 .NET Core 2.1

    在上一篇的博客中(ASP.NET Core 实战:Linux 小白的 .NET Core 部署之路),试着将我之前写的 ASP.NET Core 2.0 的项目部署到 Linux 服务器上,采用的是微软官方推荐的...3、基于 ASP.NET Core 2.1 代码惯例的更改   在 .NET Core 升级到 2.1 版本后,ASP.NET Core 相应的也进行了一些更新,我们创建的模板中的一些基础代码也进行了修改...同样的,在 Startup.cs 文件中,ASP.NET Core 2.1 版本增加了对于 GDPR 的支持(欧盟的一项政策,当我们需要收集用户的数据时,必须以「简洁、透明且易懂的形式,清晰和平白的语言...ASP.NET MVC Core 2.1+中引入的可能中断的行为更改(嗯,看了一圈还是不明白到底是干什么的)。...4、其它修改   在 ASP.NET Core MVC 框架版本的更新中,同样对于引用的一些 JS 类库进行了升级,这里我就不升级了,主要为我们的程序添加对于 GDPR 政策的提示。

    1.2K20

    Asp.net mvc 知多少(四)

    该书主要分为两部分,ASP.NET MVC 5、ASP.NET WEB API2。本书最大的特点是以面试问答的形式进行展开。通读此书,会帮助你对ASP.NET MVC有更深层次的理解。...系列导航 Asp.net mvc 知多少(一) Asp.net mvc 知多少(二) Asp.net mvc 知多少(三) Asp.net mvc 知多少(四) Asp.net mvc 知多少...什么是 ASP.NET MVC的布局页(Layouts)? Ans. Layouts(布局页)是用来使asp.net mvc中的views保持一致的外观体验。...备注: Return View 不会发起一个新的请求。它只是进行视图渲染而不会更改浏览器地址栏的URL。...因为如果使用Redirect,一旦你更改了路由表,你就需要手动去更改那些你自己构造的URLs。 RedirectToRoute 重定向到路由表中定义的指定路由。

    2.2K90

    ASP.NET 5系列教程 (一):领读新特性

    ASP.NET 5 包含以下特性: ·灵活的跨平台运行时 ·新的HTTP模块请求管道 ·Cloud-ready环境配置 ·统一了包含 MVC、 Web API 和 Web 页面的编程模型 ·无需重新编译即可查看更改效果...在发布之前,你可以使用Mono CLR用于跨平台开发。 新建 Visual Studio 工程默认使用全功能 .NET CLR,可以在工程属性页面更改为核心CLR。 ?...如果添加引用文件外的包,这类依赖项将仅仅被加载,而不会显示到project.json 文件中。这种机制可以使project.json 文件轻便易管理。...确保你拥有完整、强大的编译框架的同时,拥有趋近于解释语言的开发体验。 每个Visual Studio 的用户界面都具有对应的脚本,因此你可以轻松在UI界面和脚本之间切换。...同时也会提示所需要的更改以及使用哪些新增接口来替换。 MVC 6 和 SignalR 3 应用使用新的HTTP管道,所以它们无法与使用System.Web 接口的应用兼容。

    3.2K80

    将传统 ASP.NET 应用迁移到 .NET Core

    但在最新的ASP.NET Core 2.1 里,Bower 已经被移除了,因为作者不干了 。因此,微软默认使用自家的包管理器 “Library Manager” 也叫 “libman” 去管理前端包。...libman.json 可以直接编辑,也能在UI更改,都有智能感知支持。我的建议是,如果你的应用不是重客户端的话,使用 libman 去管理前端包,因为其他技术比如NPM 太重量级了。...但在迁移之前,你可以考虑使用别的方法,在一个普通ASP.NET Core Controller 中实现这些功能。...view=aspnetcore-2.1 主要问题是,在用户接受GDPR协议之前Cookie 是不起作用的。...20 热更新 Views 在传统 ASP.NET MVC 中,Views 文件夹默认不会编译到 DLL 文件中,所以我们能够不需要编译整个应用就能更新razor页面。

    4.7K41

    ASP.NET Core 3.0 的新增功能

    全文翻译自微软官方文档英文版 What's new in ASP.NET Core 3.0 本文重点介绍了 ASP.NET Core 3.0 中最重要的更改,并提供相关文档的连接。...Razor 组件与 Razor Pages(页面)和 MVC 视图 (view) 相似,因为它们都使用 Razor。与基于“请求-响应”模型的页面与视图不同,组件专门用于处理 UI 合成。...模板变更 Web UI 模板(Razor Pages, 带有控制器和视图的 MVC)已删除以下内容: “Cookie 同意” UI 不再包含在内。...若要在 ASP.NET Core 3.0 模板生成的应用程序中启用“Cookie 同意”功能,请参阅 ASP.NET Core 中的常规数据保护法规 (GDPR) 支持。...主机配置 在发布 ASP.NET Core 3.0 之前,带有 ASPNETCORE_ 前缀的环境变量会被加载,用于 Web 主机的主机配置。

    6.7K30

    在VisualStudio中提供运行时和设计时支持的WPF本地化解决方案

    ,它对语言资源文件的管理太复杂了。...因此,我们需要做的就是替换(或刷新)ObjectDataProvider对象实例,并且ODP属性上的任何绑定都将自动更新。 这就是这个多语言支持解决方案的改进之处。...区域设置最初设置为项目中的使用默认语言集,如果没有设置默认语言,则使用当前线程的区域设置。...现在您已经有了一个新的RESX文件,您可以更改区域资源文件的资源值,这样新的区域(Resources.Fr-fr.resx)设置就添加完成了。 列举可用语言文化区域设置 ?...这实际上是ODP的第二个实例,在运行时会很糟糕(因为只有App.xaml中包含的第一个实例会被更新),但在设计时很好,因为我们不会更新区域性。 问题解决了。

    1.9K20

    IdentityServer(12)- 使用 ASP.NET Core Identity

    然后选择Web应用程序(MVC) ? 然后点击“更改身份验证”按钮,选择“个人用户账户” ? 最后,你的设置应该是和下图一样: ?...将之前快速入门的配置类(在Config.cs中)复制到此新项目中。 对于现在的配置需要改变的是禁用MVC客户端的许可。...ConfigureServices: 以前我们使用AddTestUsers扩展方法用于注册用户,但在这种现在的解决方案下,我们用AddAspNetIdentity替换该扩展方法来使用ASP.NET Identity...在MVC客户端登录 启动MVC客户端应用程序,你应该能够点击“Secure”链接登录。 ? 您应该被重定向到ASP.NET Identity登录页面。 用新创建的用户登录: ?...登录后,您应该跳过同意页面(给出我们上面所做的更改),并立即重定向到MVC客户端应用程序,会显示你的用户信息。 ?

    1.7K30

    Identity Server 4 - Hybrid Flow - MVC客户端身份验证

    /IdentityServer/IdentityServer4.Quickstart.UI/release/get.ps1'))安装好之后可以看到项目文件的变化:图片但是由于这套UI使用了ASP.NET..., 首页如下:图片点击discovery document, 它就是我之前打开的那个页面.ASP.NET Core MVC 作为客户端首先考虑ASP.NET Core MVC 作为客户端应用的情况.ASP.NET...当用户需要登陆的时候, 将使用的是OpenId Connect Scheme.然后的AddCookie, 其参数是之前配置的DefaultScheme名称, 这配置了Cookie的处理者, 并让应用程序为我们的..., 它就是我之前在Identity Provider里面Client的RedirectUri.与此同时, 可以在Identity Provider的控制台看到, MVC客户端通过后端通道向Token端点发出了..., 这个Cookie的名字要与之前配置的默认方案里的名字一致, 这一步就相当于登出MVC客户端.后一行代码的作用是跳转回到Identity Provider, 然后用户可以继续登出IDP, 也就是IDP

    2K20
    领券