[英]Persisting DropDownList selection for return visits in MVC5
我已经阅读了数十篇有关持久保存DropDownList选定值的文章和解决方案。 这些文章似乎都没有完全满足我的需求。 这是我的要求:
我在_Layout.cshtml(站点范围页眉)中有一个DropDownList,它允许用户选择所需的语言。
<form>
<select id="lang">
<option value="en-US" selected="selected">English</option>
<option value="fr-CA">Français</option>
<option value="pt-BR">Português</option>
<option value="es-MX">Español</option>
</select>
</form>
我的意图是使用Westwind.Globalization包(NuGet)进行本地化。
默认情况下,设置应为英语,但是当用户从语言下拉列表中进行选择时,我希望将其选择保留到cookie中,该cookie不仅用于当前会话,还用于回访。
如果用户通过了身份验证,我还将希望将他们的选择保存在他们已经添加了列的用户配置文件中。
保留当前会话的值,回访并在更改所需语言后进行身份验证时保存到用户个人资料的最佳做法是什么?
如果您的网站用户是匿名用户,则可以使用cookie来存储语言首选项。
如果您的网站的用户不是匿名用户,则除了Cookie之外,您还可以存储该用户的语言偏好以及该用户的数据库记录。
我说“ 除了cookie之外 ”的原因如下。 假设用户已经在您的网站上拥有一个帐户并定期使用。 他们访问了您的网站,但尚未登录。 在从用户登录之前,应该从cookie中提取语言首选项,以便登录页面,登录页面等使用用户的语言。 用户登录后,请使用从数据库中检索到的用户的语言首选项来更新cookie。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.