2014-01-28 44 views
1

我正在使用ASP.net和C#,嘗試訪問web.config文件中的其他用戶的Profile屬性。訪問具有自定義類型(類)的其他用戶的自定義配置文件屬性

我要訪問的屬性有我創建了一個類的自定義類型,ClassesList

public class ClassesList 
{ 
    public struct Class_ 
    { 
     public string name; 
     public string teacherName; 
     public string startDate, endDate; 
     public int numOfEnrolledStudents; 
     public int maxNumOfStudents; 
     public string[] studentsNames; 
     public string accessKey; 
     public bool IsActive; 
    } 

    public Class_[] Classes; 

    public ClassesList() 
    { 
     this.Classes = new Class_[200]; 

     for (int i = 0; i < 200; i++) 
     { 
      Classes[i].IsActive = false; 
      Classes[i].studentsNames = new string[500]; 
     } 
    } 
} 

這是我在web.config文件簡介:

<profile> 
    <properties> 
    <add name="ClassList" type="ClassesList" allowAnonymous="false" /> 
    </properties> 
</profile> 

我用這語句來獲取另一用戶的配置文件(在for循環中)

ProfileBase currentTeacherProfile = ProfileBase.Create(teacherList[i], true); 

所以現在我有輪廓,我只需要訪問我想要的配置文件屬性,這是accessKey

我試圖用這個代碼來獲取財產,但我得到的未發現異常

currentTeacherProfile.GetPropertyValue("ClassList.Classes[0].accessKey") 

注:訪問使用

Profile.ClassList.Classes[0].accessKey 

作品當前用戶的配置文件屬性,但它不能在不同的用戶的情況下工作。

謝謝。

回答

1
ProfileCommon otherProfile = Profile.getProfile("name"); 
0

您需要獲得屬性值第一(ClassesList)

ClassesList classList = currentTeacherProfile.GetPropertyValue("ClassList") as ClassesList; 

然後,您可以訪問該對象的屬性

classList.Classes[0].accessKey 
相關問題