Обновление профиля участника asp.net - PullRequest
2 голосов
/ 23 апреля 2011

Я работаю с профилями участников asp.net.Я могу создать профиль и получить значения, но я не могу установить значения свойств.Я использую следующий код:

var profile = MemberProfile.GetUserProfile();
profile.fullName = tbFullName.Text;
profile.country = tbCountry.Text;
profile.city = tbCity.Text;
profile.streetAddress = tbStreeAddress.Text;
profile.phoneNumber = tbPhoneNumber.Text;
profile.Save();

И это не обновление профиля.Я также искал несколько решений в Интернете, но, похоже, ничего не работает.Класс профиля выглядит следующим образом:

public class MemberProfile : ProfileBase
{
    public static MemberProfile GetUserProfile(string username)
    {
        return (MemberProfile)Create(username);
    }

    public static MemberProfile GetUserProfile()
    {
        return (MemberProfile)Create(System.Web.Security.Membership.GetUser().UserName);
    }

    [SettingsAllowAnonymous(false)]
    public string AuthGuid
    {
        get
        {
            var o = base.GetPropertyValue("auth_guid");
            if (o == DBNull.Value)
            {
                return string.Empty;
            }
            return (string)o;
        }
        set
        {
            base.SetPropertyValue("auth_guid", value);
        }
    }

    [SettingsAllowAnonymous(false)]
    public string fullName
    {
        get
        {
            var o = base.GetPropertyValue("fullName");
            if (o == DBNull.Value)
            {
                return string.Empty;
            }
            return (string)o;
        }
        set
        {
            base.SetPropertyValue("fullName", value);
        }
    }

    [SettingsAllowAnonymous(false)]
    public string country
    {
        get
        {
            var o = base.GetPropertyValue("country");
            if (o == DBNull.Value)
            {
                return string.Empty;
            }
            return (string)o;
        }
        set
        {
            base.SetPropertyValue("country", value);
        }
    }

    [SettingsAllowAnonymous(false)]
    public string city
    {
        get
        {
            var o = base.GetPropertyValue("city");
            if (o == DBNull.Value)
            {
                return string.Empty;
            }
            return (string)o;
        }
        set
        {
            base.SetPropertyValue("city", value);
        }
    }

    [SettingsAllowAnonymous(false)]
    public string streetAddress
    {
        get
        {
            var o = base.GetPropertyValue("streetAddress");
            if (o == DBNull.Value)
            {
                return string.Empty;
            }
            return (string)o;
        }
        set
        {
            base.SetPropertyValue("streetAddress", value);
        }
    }

    [SettingsAllowAnonymous(false)]
    public string phoneNumber
    {
        get
        {
            var o = base.GetPropertyValue("phoneNumber");
            if (o == DBNull.Value)
            {
                return string.Empty;
            }
            return (string)o;
        }
        set
        {
            base.SetPropertyValue("phoneNumber", value);
        }
    }        
}

Спасибо!

Ответы [ 2 ]

1 голос
/ 31 августа 2011

Вам также необходимо создать свойства в web.config

<membership defaultProvider="UmbracoMembershipProvider" userIsOnlineTimeWindow="15">
        <providers>
          <clear />
          <add name="UmbracoMembershipProvider" type="umbraco.providers.members.UmbracoMembershipProvider" enablePasswordRetrieval="false" enablePasswordReset="false" requiresQuestionAndAnswer="false" defaultMemberTypeAlias="Another Type" />
          <add name="UsersMembershipProvider" type="umbraco.providers.UsersMembershipProvider" enablePasswordRetrieval="false" enablePasswordReset="false" requiresQuestionAndAnswer="false" />
        </providers>
        <properties>
          <add name="auth_guid" allowAnonymous ="false" provider="UmbracoMemberProfileProvider" type="System.String" />
          <add name="fullName" allowAnonymous ="false" provider="UmbracoMemberProfileProvider" type="System.String" />
          <add name="country" allowAnonymous ="false" provider="UmbracoMemberProfileProvider" type="System.String" />
          <add name="streetAddress" allowAnonymous ="false" provider="UmbracoMemberProfileProvider" type="System.String" />
          <add name="phoneNumber" allowAnonymous ="false" provider="UmbracoMemberProfileProvider" type="System.String" />
          <add name="city" allowAnonymous ="false" provider="UmbracoMemberProfileProvider" type="System.String" />
        </properties>
      </membership>
0 голосов
/ 19 мая 2011

Я использовал предварительно созданный пользовательский контроль, который кто-то написал на сайте сообщества Umbraco.

http://umbracoprofileeditor.codeplex.com/

...