检查用户是否第一次访问我应用的某个部分

时间:2013-05-30 17:36:15

标签: c# javascript .net

当用户第一次访问我的网络应用程序的某个部分时,我想向他们提供一个简短的模态常见问题解答。我们在这个应用程序上使用.Net MVC,所以我知道我可以使用Javascript中的Cookie来完成与此相似的事情,并且有很长的截止日期。但是,我很好奇是否有更好的方法来实现这一点,因为用户可以从浏览器中清除cookie。我猜C#或razor会为我提供更优雅的解决方案。谢谢你的建议!

1 个答案:

答案 0 :(得分:3)

如果用户已通过身份验证,为什么不在服务器端存储此信息(如在数据库中)?然后,您可以将“标志”传递给视图(通过模型或ViewBag),以便它可以决定是否提示使用常见问题解答。

public ActionResult Index()
{
    bool isUsersFirstTime = IsFirstTime(); // Do something to read this value from the database
    if (isUsersFirstTime)
    {
        UpdateFirstTimeFlag(); // Do something to update this value in the database
    }

    ViewBag.FirstTimeUser = isUsersFirstTime;
}

然后在你看来,像(假设Razor语法):

@if (ViewBag.FirstTimeUser)
{
    <div>Here's the modal FAQ</div>
}

显然,如果您要实现更多MVVM方法,则需要将FirstTimeUser属性放在ViewModel中,并在视图中使用Model.FirstTimeUser引用它。