0

ページ コール "A" Asp.Net があり、そのページへのアクセスを 1 人のユーザーのみに許可したいと考えています。誰もページにアクセスしていない場合、データベースを使用せずにどのユーザーもページにアクセスできます。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.";

        }

    }
4

2 に答える 2

0

静的クラスの静的変数のように、グローバル変数を使用できます。

ページの読み込み時に、次のように確認できます

if(clsGlobal.userCount > 1)
{
Response.Redirect("~/anotherPage.aspx") // somewhere you want..
}
else
{
//display your welcome message
}
于 2012-10-20T07:01:00.573 に答える
0

これは、Web サーバーの動作方法に反します。これを試すようになった実際の問題を知ることは興味深いでしょう。

技術的な面では、グローバル変数を に格納できますApplication。すべてのリクエストは同じグローバル オブジェクトを共有します。

しかし、あなたが解決しようとしている本当の問題を私たちに説明してくれれば、これは良いアプローチではないことがわかると思います.私たちは本当の解決策を提案できると確信しています.

于 2012-10-20T06:31:45.877 に答える