簡體   English   中英

在MVC5中持續使用DropDownList選擇進行回訪

[英]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&#231;ais</option>
        <option value="pt-BR">Portugu&#234;s</option>
        <option value="es-MX">Espa&#241;ol</option>
    </select>
</form>

我的意圖是使用Westwind.Globalization包(NuGet)進行本地化。

默認情況下,設置應為英語,但是當用戶從語言下拉列表中進行選擇時,我希望將其選擇保留到cookie中,該cookie不僅用於當前會話,還用於回訪。

如果用戶通過了身份驗證,我還將希望將他們的選擇保存在他們已經添加了列的用戶配置文件中。

保留當前會話的值,回訪並在更改所需語言后進行身份驗證時保存到用戶個人資料的最佳做法是什么?

如果您的網站用戶是匿名用戶,則可以使用cookie來存儲語言首選項。

如果您的網站的用戶不是匿名用戶,則除了Cookie之外,您還可以存儲該用戶的語言偏好以及該用戶的數據庫記錄。

我說“ 除了cookie之外 ”的原因如下。 假設用戶已經在您的網站上擁有一個帳戶並定期使用。 他們訪問了您的網站,但尚未登錄。 在從用戶登錄之前,應該從cookie中提取語言首選項,以便登錄頁面,登錄頁面等使用用戶的語言。 用戶登錄后,請使用從數據庫中檢索到的用戶的語言首選項來更新cookie。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM