如何强制用户在显示网站中的任何内容之前从下拉列表中选择某些内容并将该值存储为"global"值?



我正在构建一个 ASP.NET 核心MVC应用程序(build v2.1.0(。

我希望应用程序的用户(我没有任何身份验证,所以任何人都可以成为用户(被迫从 drodownlist 中选择一个值(作为部分视图或其他东西(,然后以某种方式重定向到"主页"。在此操作之前,应用程序中的任何其他链接都不应工作,直到它们从该下拉列表中选择某些内容。

这样,我可以确保他们将选择一个我将显示所有数据的国家/地区。 最终,选择后,该下拉列表应在导航栏中可见,以便随时更改该参数。

此外,我需要该值在整个应用程序中作为"全局"值(会话或其他值(可见。

最简单的解决方案:使用 cookie 存储国家/地区选择。检查控制器中的 cookie 值;如果未设置,请重新路由到可以设置它的下拉页面。如果是,请根据您的代码需要使用它。

编写饼干

Response.Cookies.Append("country", "us");

阅读饼干

var cookie = Request.Cookies["country"];
if (String.IsNullOrWhiteSpace(cookie))
{
return RedirectToAction("ChooseCountry"); // whatever the action name is where they choose the country
}
// rest of code...

最新更新