2012-10-20 100 views
0

我有一個頁面調用「A」Asp.Net,我想只允許一個用戶訪問該頁面。如果沒有人訪問該頁面,則允許任何用戶訪問該頁面 如果不使用數據庫,我該怎麼做。 我想使用頁面加載的C#和窗口onbeforeunload事件的JavaScript,但沒有得到它。我如何只允許一個訪問者訪問頁面

<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."; 

     } 

    } 
+2

一位參觀者_total_或每唯一的登錄一個會話? – canon

+0

我有一個頁面調用「A」Asp.Net,我想只允許一個用戶訪問該頁面。如果沒有人訪問該頁面,則允許任何用戶訪問該頁面。 – lax

+2

愚蠢的想法,但你可以檢查會話計數和重定向。但這個想法很奇怪... –

回答

0

這與Web服務器應如何操作相反。知道你導致你嘗試這個的實際問題會很有趣。

在技術方面,您可以在Application中存儲全局變量。所有請求共享相同的全局對象。

但是,如果您向我們解釋了您正在嘗試解決的實際問題,我認爲您會發現這不是一個好方法,我確定我們可以提出一個真正的解決方案。

+0

如何向我展示代碼 – lax

+0

我不得不同意答案的要旨,所描述的技術問題聽起來像是解決另一個問題的不良方法的症狀。我真的很好奇什麼情況會導致這樣一個奇怪的要求。 – Mathias

+0

應用[「blah」] = myVal; –

0

您可以使用全局veriable,就像一個靜態類的靜態變量,

在頁面加載,你可以檢查像

if(clsGlobal.userCount > 1) 
{ 
Response.Redirect("~/anotherPage.aspx") // somewhere you want.. 
} 
else 
{ 
//display your welcome message 
} 
+0

didint得到你想說的話讓我看看完整的代碼 – lax

相關問題