2014-09-21 60 views
0

我對ASP.Net和C#相當新,所以請和我一起裸照。如何從數據庫ASP.Net顯示特定的記錄行?

所以我創建了一個表單,該表單在Visual Studio中使用已提供的默認Web窗體包含註冊和登錄窗體。因此,已經提供了用於註冊和登錄的代碼,並且他們輸入的詳細信息已經發送到默認的成員資格數據庫。

我想要的是一旦用戶登錄,他們可以訪問一個僅限會員的網頁,並在那裏輸入更多詳細信息,這些詳細信息可以插入到我自己創建的數據庫中。但是,我也想要的是,一旦人們將他們的詳細信息輸入到我的數據庫中,他們可以稍後返回並更改它。

我想知道的是如何讓特定用戶訪問只有他們的記錄?

我明白使用FormView和DetailView,但它們似乎顯示整個數據庫表,而我只想要那個特定的視圖。我想嘗試顯示最近添加的記錄,但這會導致問題,因爲當其他人再次登錄到網站並查看其詳細信息時,它可能最終會顯示另一條記錄。

+0

您需要查看會員系統 - 只有具有權限的人才能查看/編輯/刪除記錄。 – IrishChieftain 2014-09-21 00:35:04

+0

@IrishChieftain我會怎麼做呢? – sass 2014-09-21 00:46:22

+0

@sass檢查我的答案,並告訴我,如果有什麼東西不清楚!:) – mybirthname 2014-09-21 00:54:16

回答

0

您應該在登錄時在會話中編寫用戶標識。之後,您可以從會話中檢索用戶標識,並確切知道哪個用戶登錄。

Session["_USERID"] = value; 

您可以創建屬性:

public Guid UserID 
{ 
    get 
     { 
      if(Session["_USERID"] != null) 
       return (Guid)Session["_USERID"]; 
     } 
    set 
     { 
      Session["_USERID"] = value; 
     } 
} 

此屬性將被設置爲在登錄的用戶ID和設置爲null上註銷。擁有每個UI頁面將繼承的基類並將此屬性放入基類將會很好。在這種情況下,當您打開當前用戶頁面時,您可以使用此屬性。

+0

我可以用用戶名替換用戶名嗎? – sass 2014-09-21 01:08:33

+0

@sass您可以存儲您想要的任何內容,但您應該存儲用戶表的PK(唯一指示符)。在這種情況下,當您打開頁面UserEdit(用戶將點擊編輯他的配置文件的頁面)時,您可以進行查詢以獲取所有用戶數據。如果您僅存儲名稱,則無法始終檢索正確的信息(兩個人可以使用相同的名稱) – mybirthname 2014-09-21 01:14:09

+1

@sass - 如果您要求用戶名始終保持唯一,那麼您可以使用它。一般來說,使用密鑰更簡單,更可靠。在一些環境中,用戶名可以改變,例如電子郵件地址或結婚的受害者。在其他情況下,一個帳戶可能會被退役,但由於記錄保存要求而無法刪除。如果記錄綁定到PK,那麼你可以有一個新的用戶使用相同的用戶名,而不是搞砸了。 – HABO 2014-09-21 01:19:57

相關問題