我有一个页面调用“A”Asp.Net,我想只允许一个用户访问该页面。如果没有人访问该页面,则允许任何用户访问该页面 不使用数据库我怎么能这样做。 我试图使用c#的页面加载和javascript的窗口onbeforeunload事件,但没有得到它。
<script type="text/javascript" language="JavaScript">
var hidViewstate;
window.onload = body_Load;
window.onbeforeunload = WindowCloseHanlder;
function body_Load()
{
hidViewstate = document.getElementById('<%=hidViewstate.ClientID %>');
}
function WindowCloseHanlder()
{
hidViewstate.value = parseFloat(hidViewstate.value - 1);
}
</script>
<div>
<asp:Label ID="lblText" runat="server" Text="Label"></asp:Label>
<asp:HiddenField ID="hidViewstate" runat="server" />
</div>
protected void Page_Load(object sender, EventArgs e)
{
hidViewstate.Value = "1";
if(Convert.ToInt32(hidViewstate.Value) == 1)
{
lblText.Text = "Welcome First User";
}
else
{
lblText.Text = "Visiting on this page is not allowed because user is already login.";
}
}
答案 0 :(得分:0)
这与网络服务器的运作方式背道而驰。了解导致您尝试此操作的实际问题会很有趣。
在技术方面,您可以在Application
中存储全局变量。所有请求共享相同的全局对象。
但是如果你向我们解释了你想要解决的真正问题,我想你会发现这不是一个好方法,我相信我们可以建议一个真正的解决方案。
答案 1 :(得分:0)
您可以使用全局变量,例如静态类的静态变量
在页面加载时你可以检查
if(clsGlobal.userCount > 1)
{
Response.Redirect("~/anotherPage.aspx") // somewhere you want..
}
else
{
//display your welcome message
}