【发布时间】:2016-07-29 13:20:48
【问题描述】:
我正在尝试做一些我不确定是否可行的事情?
用户打开网站。如果他们尝试在新选项卡中重新打开链接,我需要将他们重定向到另一个页面。
我尝试使用c# 来查看是否可以检测到页面重新加载。这可行,但是如果我出于某种原因将代码放入页面加载事件中,它会运行两次,并且无论是第一次打开还是在新选项卡中打开,都会重定向它们。只有当他们打开一个新标签时我才需要这样做。
我的代码:
bool IsPageRefresh = false;
if (!IsPostBack)
{
ViewState["ViewStateId"] = System.Guid.NewGuid().ToString();
Session["SessionId"] = ViewState["ViewStateId"].ToString();
}
else
{
if (ViewState["ViewStateId"].ToString() != Session["SessionID"].ToString()) ;
{
IsPageRefresh = true;
if (IsPageRefresh == true)
{
Response.Redirect("~/Pages/EstimateList.aspx", true);
}
}
Session["SessionId"] = System.Guid.NewGuid().ToString();
ViewState["ViewStateId"] = Session["SessionId"].ToString();
}
我需要使用Javascript 或jQuery 来执行此操作吗?我对Javascript 和jQuery 真的很陌生。
【问题讨论】:
-
虽然您可能可以一起破解一些东西来做到这一点,但您可能要做的就是通过做一些他们意想不到的事情来激怒用户。
-
我怀疑你能做到这一点。当然不是服务器端,我想 JS 会在浏览器中限制这个功能,因为它很烦人并且可能被滥用
-
我没有得到你想要的。如果用户在地址栏中再次键入,或者您只是不想打开同一页面的 2 个选项卡,这有关系吗?
-
Ashkan,我只是不想让他们在新标签页中打开它。
-
您意识到这是一种多么糟糕的用户体验吗?
标签: javascript c# jquery asp.net