3

现在我的项目默认为主页/索引作为我的网站起始页。我想做到这一点,所以当有人第一次来到网站时,他们会去 Home/FirstTime,然后他们返回网站时会去 Home/Index

我在 App_Start 文件夹的 RouteConfig.cs 中有此代码

public class RouteConfig
{
    public static void RegisterRoutes(RouteCollection routes)
    {

        routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }

        );

    }
}

我猜我需要为 Home/FirstTime 添加一条路线,但我不知道如何存储他们之前去过的网站的天气信息。

4

1 回答 1

6

添加 cookie 以识别用户是否是第一次访问者。

public ActionResult Index()
    {
        string cookieName = "NotFirstTime";
        if(this.ControllerContext.HttpContext.Request.Cookies.AllKeys.Contains(cookieName ))
        {
            // not first time 
            return View();
        }
        else
        {
            // first time 
            // add a cookie.
            HttpCookie cookie = new HttpCookie(cookieName);
            cookie.Value = "anything you like: date etc.";
            this.ControllerContext.HttpContext.Response.Cookies.Add(cookie);
            // redirect to the page for first time visit.
            return View("FirstTime");
        }
    }

您可以控制 cookie 的更多设置,例如过期等。但是您现在应该知道方向了。

于 2013-09-27T19:04:20.587 回答