我正在使用ASP.net和C#,尝试从Profile
文件访问其他用户的web.config
属性。
我要访问的属性具有我创建的类的自定义类型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
有效,但在不同用户的情况下不起作用。
感谢。
答案 0 :(得分:1)
ProfileCommon otherProfile = Profile.getProfile("name");
答案 1 :(得分:0)
您需要先获取属性值(ClassesList)
ClassesList classList = currentTeacherProfile.GetPropertyValue("ClassList") as ClassesList;
然后,您可以访问该对象的属性
classList.Classes[0].accessKey