Как пользователь может просматривать информацию в профиле других пользователей? - PullRequest
0 голосов
/ 19 марта 2010

Я сохранил информацию профиля, используя этот код

        ProfileBase userprofile = HttpContext.Current.Profile;
        userprofile.SetPropertyValue("FirstName", TextBoxFirstName.Text);
        userprofile.SetPropertyValue("LastName", TextBoxLastName.Text);
        userprofile.SetPropertyValue("AboutMe", TextBoxAboutMe.Text);
        userprofile.SetPropertyValue("ContactNo", TextBoxContactNo.Text);

и в web.config

<profile enabled="true"  defaultProvider="AspNetSqlProfileProvider">
  <properties>
    <add name="FirstName" type="String"  />
    <add name="LastName" type="String" />
    <add name="AboutMe" type="String" />
    <add name="ContactNo" type="String" />

  </properties>
</profile>

Информация о профиле сохраняется, и каждый пользователь может просматривать информацию о своем профиле, используя что-то вроде этого

TextBoxFirstName.Text = HttpContext.Current.Profile.GetPropertyValue("FirstName").ToString();

Как получить информацию о профиле другого пользователя, например, если пользователь вводит имя пользователя другого пользователя в текстовое поле и нажимает кнопку?

Ответы [ 2 ]

3 голосов
/ 19 марта 2010

Приведенный ниже код может получить весь профиль пользователя. Просьба настроить еще несколько, чтобы вы достигли своей цели.

1       public object[] GetPropertyValues(string propertyName)
2       {
3           int totRec;
4           List<object> values = new List<object>();
5           ProfileInfoCollection pic = ProfileManager.GetAllProfiles(ProfileAuthenticationOption.Authenticated, 0, 1000, out totRec);
6    
7           foreach (ProfileInfo pi2 in pic)
8               values.Add(ProfileBase.Create(pi2.UserName).GetPropertyValue(propertyName));
9    
10          return values.ToArray();
11      }
12   

Вы можете получить больше информации в http://forums.asp.net/t/1232593.aspx

1 голос
/ 19 марта 2010

То, что я искал, это ниже, он выбирает все профили указанного пользователя.

ProfileInfoCollection pic = System.Web.Profile.ProfileManager.FindProfilesByUserName(ProfileAuthenticationOption.All, "username");
        foreach (ProfileInfo pi2 in pic)
        {
            //ProfileBase.Create(pi2.UserName).GetPropertyValue("FirstName").ToString();

            ListBox1.Items.Add(ProfileBase.Create(pi2.UserName).GetPropertyValue("FirstName").ToString());

            //(new ProfileBase) Create(pi2.UserName)).GetPropertyValue("FirstName");
        }

Ответ Ходжо был очень полезным, спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...