2011-07-10 35 views
-1

我需要控制應用程序中的會話,例如:當用戶在文本框中鍵入sam時,下一個用戶不能鍵入sam作爲已經使用的sam!任何想法?應用程序中的控制會話asp.net/c#

Application["UserName"] = user.Text; 
if (Application["UserName"] == "sam") 
{ 
} 
+0

您昨天發佈了類似的問題http://stackoverflow.com/questions/6636323/if-statement-to-control-input-text-in-code-behind –

+0

您需要提供更多關於您的具體情況的詳細信息,否則你會得到非常一般的答案,對你的具體情況不是很有幫助。 –

+1

我想你會找到一個很好的教程,跟隨和研究,以更好地服務;你還沒有指定是否將用戶信息存儲到數據庫,純文本文件,完全存儲在內存中,還是完全硬編碼到應用程序中(這是_looks_所喜歡的,但它肯定不會很有趣到_use_)。堆棧溢出是學習某些特定​​事物的好方法,但我不會推薦它嘗試從頭開始學習。找到一個很好的ASP.net教程(嘗試http://www.asp.net開始?)來學習 - 並隨時提問關於教程的問題。 :) – sarnold

回答

1

我會根據我的理解來回答,這不是一個明確的問題。

首先:如之前所說的sessionper client。所以這不是問題的答案..

我做一個樣本:

ASPX:

<head runat="server"> 
    <title>Untitled Page</title> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 

     <asp:TextBox ID="txt_name" runat="server" ontextchanged="txt_name_TextChanged"></asp:TextBox> 
     <asp:Label ID="lbl_message" runat="server"></asp:Label> 

    </div> 
    </form> 
</body> 

的.cs:

public partial class _Default : System.Web.UI.Page 
     { 
      static int i =0; 
      protected void Page_Load(object sender, EventArgs e) 
      { 
       if (i > 0 && txt_name.Text == "sam") 
       { 
        txt_name.Enabled = false; 
        txt_name.Text = string.Empty; 
        lbl_message.Text = "In use"; 

       } 
       else 
       { 
        txt_name.Enabled = true; 
        lbl_message.Text = string.Empty; 
       } 
      } 

      protected void txt_name_TextChanged(object sender, EventArgs e) 
      { 

       if (txt_name.Text == "sam") 
       { 
        i++; 
       } 

      } 

     } 

您可以使用應用程序變量而不是靜態變量如前所述。

+1

謝謝你的好例子 –

3

會話是特定於當前用戶的。如果其他用戶訪問您的網站,他將無法讀取其他用戶的會話值。因此,您最好將這些信息存儲在所有用戶共享的Application state中。該文檔包含許多示例。

1

您必須使用Application level variable instead of a Session variable,,因爲應用程序變量值將在用戶中持續存在。例如

Application["UserName"] = user.Text; 
if (Application["UserName"] == "sam") 
{ 
    labelMessage.Text = "This user has been already selected."; 
} 
+0

謝謝你,但如何寫一個代碼說,如果SAM已經在使用「做某事」? –

+0

第二人稱類型山姆時,需要採取措施 –

+0

您可以將標籤和顯示消息發送給用戶。你可以檢查這個線程的類似例子。至少你可以從這個主題有想法。 http://stackoverflow.com/questions/6340314/is-there-any-email-already-exists-in-asp-net-functionality-with-validator/6340390#6340390 –