2013-08-16 62 views
1

我使用的是aspnet_Profile表,它在本地運行,但是當我將其推送到開發環境並在那裏運行時,ProfileBase.Create(user.Username)返回空值。ProfileBase創建方法返回空值

var user = Membership.GetUser(Username); 

不爲空,並返回一個用戶,所以我不知道爲什麼一個空值是用於ProfileBase.Create回報。

任何想法?


var user = Membership.GetUser(Username); 
var ext_user= ProfileBase.Create(user.UserName) as UserProfile; 
ext_user.Name = Name; 
ext_user.Save(); 

public class UserProfile : ProfileBase 
    { 
     public static UserProfile GetUserProfile(string UserName) 
     { 
      return Create(UserName) as UserProfile; 
     } 

     public string NameExtended 
     { 
      get { return base["NameExtended"] as string; } 
      set { base["NameExtended"] = value; } 
     } 

    } 

回答

1

解決,對我而言愚蠢的錯誤。繼承屬性未在我的環境.config文件中設置。

2

Fabii對於明顯的答案是正確的,但我最初並沒有明白答案是什麼,直到我自己解決這個問題。爲了記錄,您需要在配置文件中執行類似的操作,其中您的繼承語句指向您的繼承自ProfileBase的類:

<profile defaultProvider="DefaultProfileProvider" inherits="YourNamespace.YourClass">