簡體   English   中英

C#ASP.Net WebForm會員額外用戶詳情(個人資料)

[英]C# ASP.Net WebForm Membership Extra User Details (Profile)

我正在學習如何使用ASP.net會員資格,當用戶注冊時他們只是創建用戶名和密碼,但是我想在我的網站上創建一個名為“profile”的頁面,在那里他們可以填寫額外的詳細信息,如firstname,姓氏,出生日期等。 但是,我沒有看到我可以將它放在asp.net成員資格數據庫中。 這是一個asp.net_profile表但是我不確定它是如何工作的。

有人可以解釋我怎么做到這一點?

您可能必須首先使用Membership.CreateUser創建MembershipUser,獲取新創建的用戶ID,然后在單獨的表(如ExtendedUserInfo等)中插入其額外的配置文件信息,並使用forein鍵將其與aspnet_Users表鏈接。

您應該將內置會員資格視為黑盒子 - 擴展股票會員模式通常是一個非常糟糕的主意。

說實話的配置文件非常難看 - 如果用於存儲其他設置很方便,但我不願意存儲我關心在某些時候提取的數據。 主要問題是它將內容存儲在不透明的序列化字段中,因此很難提取數據。 開銷可能很討厭,因為它會在每個請求中反序列化這些東西,所以如果你有廣泛的配置文件,它會變得昂貴。 在大多數情況下,每個請求都不值得提取某人的額外個人資料信息。

至於用法,我將從MSDN頁面開始。 另請注意,MVC還有其他挑戰 - 它沒有直接連接到該堆棧,盡管仍然可以使用它。

總而言之,您可能希望在此處構建自己的成員配置文件表。 您可能會使用內置的成員資格位對某些數據進行雙重預訂,但這沒關系。 您將需要設置此表與成員關系的某種關系 - 我更喜歡使用“所有者帳戶ID”結構,而不是直接將其鍵入帳戶,因為這使事情更加靈活。 例如,如果有必要,它允許用戶擁有多個配置文件。

因此,您已經配置了成員資格和角色部分,所以您對配置文件部分也是如此。 但在這里您可以提供以下屬性:

<profile defaultProvider="AspNetSqlProfileProvider">
  <properties>
     <add name="Name" />
     <add name="Weight" type="System.Int32" />
     <add name="BirthDate" 
          type="System.DateTime" />
  </properties>
</profile>

在您的代碼中,您可以調用Profile.Name並分配一個值,ASP.Membership框架管理存儲值。

有關如何使用它的更多信息,請訪問http://msdn.microsoft.com/en-us/library/d8b58y5d(v=vs.100).aspx有點舊 ,但顯示了基礎知識。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM