Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如果用户尚未看到启动页,如何使用此会话重定向到启动页?_C#_Asp.net - Fatal编程技术网

C# 如果用户尚未看到启动页,如何使用此会话重定向到启动页?

C# 如果用户尚未看到启动页,如何使用此会话重定向到启动页?,c#,asp.net,C#,Asp.net,我试图让网站在用户看到主default.aspx主页之前,首先将用户重定向到初始页面。同样,如果他们以前看到过启动页,它会忽略重定向: if (Session["splashVisited"] == null) { Response.Redirect("/default-splash.aspx"); Session["splashVisited"] = true; } 但当用户在启动页面上单击:ENTER SITE时,它会再次重定向到启动页面 我没有将会话设置为true吗 对不

我试图让网站在用户看到主default.aspx主页之前,首先将用户重定向到初始页面。同样,如果他们以前看到过启动页,它会忽略重定向:

if (Session["splashVisited"] == null)
{
    Response.Redirect("/default-splash.aspx");
    Session["splashVisited"] = true;
}
但当用户在启动页面上单击:ENTER SITE时,它会再次重定向到启动页面

我没有将会话设置为true吗

对不起,初学者警告:-


任何帮助都将不胜感激

您不能保证在Response.Redirect之后执行任何代码。您可以在目标页面的会话中设置首选的值,或者更改if正文中命令的顺序:


一句忠告:使用会话通常不是传递页面访问等信息的最佳方式。您应该尝试考虑其他解决方案,例如页面参数或cookies。

谢谢!!!我可以控制会话过期的时间吗?说一天?您可以在web.config中使用。@davv但请注意,将会话超时设置为一天意味着您在会话中保留的所有内容都会在用户上次访问站点后保留一天-您的服务器可以为所有访问者处理吗?另外,当服务器重新启动时,它可能会被重置。为此,最好使用cookie—更容易设置更长的超时,并且由用户存储,而不是服务器存储。
if (Session["splashVisited"] == null)
{
    Session["splashVisited"] = true;
    Response.Redirect("/default-splash.aspx");
}