2010-03-22 47 views

回答

5

當然可以做到這一點。一種方法是更改​​CreateUserWizard模板並刪除默認的電子郵件文本框並將EmailRequired設置爲false。然後,將用戶名標籤更改爲電子郵件。如果您使用CreateUserWizard控件,則必須將文本框ID保留爲UserName,否則將引發錯誤。然後,您可以像往常一樣訪問「用戶名」,因爲用戶的電子郵件地址將存儲在用戶名列中。

如果你願意,你也可以有通過處理CreatedUser事件充斥着用戶名的電子郵件列。例如,你可以做這樣的事情:

MembershipUser currentUser = Membership.GetUser(); 
currentUser.Email = currentUser.UserName; 
Membership.UpdateUser(currentUser); 

這種方式,email列中也瀰漫,因爲當你想使用會員的方法。 主要的缺點是Membership API不允許你改變用戶名。因此,如果用戶更改他們的電子郵件地址,他們的用戶名將保留爲舊的電子郵件地址。爲了解決這個問題,你必須跳過Membership API並直接進入SQL代碼。你可以找出如何做到這一點here

0

我喜歡用我的電子郵件地址登錄名。它通常工作得很好,因爲我不必記住特定網站的登錄信息,也沒有其他人應該使用我的電子郵件地址。

但是......除了Tenaciouslmpy的答案,另一面是,你就必須要小心揭露這些「用戶名」。你最終會做的是創建一個名爲「顯示名稱」的字段。這是完全正確的,但請注意,從長遠來看,這不會爲您節省任何工作。

+1

通過公開這些用戶名 - 你的意思是在網頁上顯示的電子郵件地址 - 這應該避免出於安全原因? – DotnetDude 2010-03-22 16:17:10

+1

是的,是的。沒有人希望他們的電子郵件地址暴露在垃圾郵件發件人的收集之中。 – Bryan 2010-03-22 18:40:32

+0

保持用戶名'祕密'等的好處,但我也在爲我的一些網站做這個,因爲我的大部分管理時間一直在幫助人們再次記住他們的用戶名,使用電子郵件地址將大大減輕這種負載! ! – 2010-03-22 21:08:08

相關問題