5

既存のWeb サイトを Web アプリケーション プロジェクトに変換しようとしていますが、プロファイルを機能させるのに大きな問題があります。

ウェブサイトプロジェクトのコードビハインドの例は

register-with-role-and-profile.ascx.cs

    // Add the newly created user to the default Role.
    Roles.AddUserToRole(CreateUserWizard1.UserName, wsatDefaultRole);

    // Create an empty Profile for the newly created user
    ProfileCommon p = (ProfileCommon)ProfileCommon.Create(CreateUserWizard1.UserName, true);

    // Populate some Profile properties. Values are located in web.config file
    p.Company.Company = ((TextBox)CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl("txbOfficeName")).Text;
    p.Company.Address = ((TextBox)CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl("txbOfficeAddress")).Text;
    p.Company.City = ((TextBox)CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl("txbOfficeCity")).Text;
    p.Company.State = ((DropDownList)CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl("ddlStates")).SelectedValue;
    p.Company.PostalCode = ((TextBox)CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl("txbOfficeZip")).Text;
    p.Company.Phone = ((TextBox)CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl("txbContactPhone")).Text;
    p.Company.Fax = ((TextBox)CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl("txbContactFax")).Text;
    p.Preferences.Newsletter = ((DropDownList)CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl("ddlNewsletter")).SelectedValue;

    // Save profile - must be done since we explicitly created it
    p.Save();

web.config

<profile defaultProvider="MyCMSTableProfileProvider" automaticSaveEnabled="false" enabled="true">
    <providers>
        <clear/>
        <add name="MyCMSTableProfileProvider" applicationName="MyCMS" connectionStringName="dbMyCMSConnectionString" table="aspnet_CustomProfile" type="CustomProfile.SqlTableProfileProvider"/>
        <add name="MyCMSStoredProcedureProfileProvider" applicationName="MyCMS" connectionStringName="dbMyCMSConnectionString" type="CustomProfile.SqlStoredProcedureProfileProvider" setProcedure="sp_wsat_SetCustomProfileData" readProcedure="sp_wsat_GetCustomProfileData"/>
    </providers>
    <properties>
        <group name="Personal">
            <add name="FirstName" type="String" defaultValue="[null]" customProviderData="FirstName;nvarchar"/>
            <add name="LastName" type="String" defaultValue="[null]" customProviderData="LastName;nvarchar"/>
            <add name="Gender" type="String" defaultValue="[null]" customProviderData="Gender;nvarchar"/>
            <add name="BirthDate" type="DateTime" defaultValue="[null]" customProviderData="BirthDate;datetime"/>
            <add name="Occupation" type="String" defaultValue="[null]" customProviderData="Occupation;nvarchar"/>
            <add name="Website" type="String" defaultValue="[null]" customProviderData="PersonalWebsite;nvarchar"/>
        </group>
        <group name="Address">
            <add name="Country" type="String" defaultValue="[null]" customProviderData="Country;nvarchar"/>
            <add name="Address" type="String" defaultValue="[null]" customProviderData="Address;nvarchar"/>
            <add name="AptNumber" type="String" defaultValue="[null]" customProviderData="AptNumber;nvarchar"/>
            <add name="City" type="String" defaultValue="[null]" customProviderData="City;nvarchar"/>
            <add name="State" type="String" defaultValue="[null]" customProviderData="State;nvarchar"/>
            <add name="PostalCode" type="String" defaultValue="[null]" customProviderData="PostalCode;nvarchar"/>
        </group>
        <group name="Contacts">
            <add name="DayPhone" type="String" defaultValue="[null]" customProviderData="DayPhone;nvarchar"/>
            <add name="DayPhoneExt" type="String" defaultValue="[null]" customProviderData="DayPhoneExt;nvarchar"/>
            <add name="EveningPhone" type="String" defaultValue="[null]" customProviderData="EveningPhone;nvarchar"/>
            <add name="EveningPhoneExt" type="String" defaultValue="[null]" customProviderData="EveningPhoneExt;nvarchar"/>
            <add name="CellPhone" type="String" defaultValue="[null]" customProviderData="CellPhone;nvarchar"/>
            <add name="Fax" type="String" defaultValue="[null]" customProviderData="Fax;nvarchar"/>
        </group>
        <group name="Company">
            <add name="Company" type="String" defaultValue="[null]" customProviderData="Company;nvarchar"/>
            <add name="Address" type="String" defaultValue="[null]" customProviderData="Address2;nvarchar"/>
            <add name="City" type="String" defaultValue="[null]" customProviderData="City2;nvarchar"/>
            <add name="State" type="String" defaultValue="[null]" customProviderData="State2;nvarchar"/>
            <add name="PostalCode" type="String" defaultValue="[null]" customProviderData="PostalCode2;nvarchar"/>
            <add name="Phone" type="String" defaultValue="[null]" customProviderData="Phone2;nvarchar"/>
            <add name="Fax" type="String" defaultValue="[null]" customProviderData="Fax2;nvarchar"/>
            <add name="Website" type="String" defaultValue="[null]" customProviderData="Website2;nvarchar"/>
        </group>
        <group name="Preferences">
            <add name="Culture" type="String" defaultValue="en-US" customProviderData="Culture;nvarchar"/>
            <add name="Newsletter" type="String" defaultValue="[null]" customProviderData="Newsletter;nvarchar"/>
        </group>
    </properties>
</profile>

しかし、これはエラーになりますThe type or namespace name 'ProfileCommon' could not be found (are you missing a using directive or an assembly reference?)

このを使用して、2 つの新しいクラスを作成しました

ProfileInfo.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace myWSAT.controls
{
    [Serializable]
    public class Personal
    {
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public string Gender { get; set; }
        public DateTime BirthDate { get; set; }
        public string Occupation { get; set; }
        public string Website { get; set; }
    }

    [Serializable]
    public class Address
    {
        public string Country { get; set; }
        public string Address1 { get; set; }
        public string AptNumber { get; set; }
        public string City { get; set; }
        public string State { get; set; }
        public string PostalCode { get; set; }
    }

    [Serializable]
    public class Contacts
    {
        public string DayPhone { get; set; }
        public string DayPhoneExt { get; set; }
        public string EveningPhone { get; set; }
        public string EveningPhoneExt { get; set; }
        public string CellPhone { get; set; }
        public string Fax { get; set; }

    }

    [Serializable]
    public class Company
    {
        public string CompanyName { get; set; }
        public string Address { get; set; }
        public string City { get; set; }
        public string State { get; set; }
        public string PostalCode { get; set; }
        public string Phone { get; set; }
        public string Fax { get; set; }
        public string Website { get; set; }

    }

    [Serializable]
    public class Preferences
    {
        public string Culture { get; set; }
        public string Newsletter { get; set; }

    }

    [Serializable]
    public class ProfileInfo
    {
        public Personal Personal { get; set; }
        public Address Address { get; set; }
        public Contacts Contacts { get; set; }
        public Company Company { get; set; }
        public Preferences Preferences { get; set; }
    }

}

wProfile.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.Profile;

namespace myWSAT.controls
{
    public class wProfile : ProfileBase
    {
        public ProfileInfo ProfileInfo
        {
            get { return (ProfileInfo)GetPropertyValue("ProfileInfo"); }
        }

        public static wProfile GetProfile()
        {
            return (wProfile)HttpContext.Current.Profile;
        }

        public static wProfile GetProfile(string userName)
        {
            return (wProfile)Create(userName);
        }  
    }
}

次に、 register-with-role-and-profile.ascx.csを次のように修正しました。

// add newly created user to default Role specified above
if (Roles.RoleExists(wsatDefaultRole))
{
    // Add the newly created user to the default Role.
    Roles.AddUserToRole(CreateUserWizard1.UserName, wsatDefaultRole);

    // Create an empty Profile for the newly created user
    wProfile p = wProfile.GetProfile(Membership.GetUser().UserName);
    //ProfileCommon p = (ProfileCommon)ProfileCommon.Create(CreateUserWizard1.UserName, true);

    // Populate some Profile properties. Values are located in web.config file
    p.ProfileInfo.Company.CompanyName = ((TextBox)CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl("txbOfficeName")).Text;
    p.ProfileInfo.Company.Address = ((TextBox)CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl("txbOfficeAddress")).Text;
    p.ProfileInfo.Company.City = ((TextBox)CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl("txbOfficeCity")).Text;
    p.ProfileInfo.Company.State = ((DropDownList)CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl("ddlStates")).SelectedValue;
    p.ProfileInfo.Company.PostalCode = ((TextBox)CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl("txbOfficeZip")).Text;
    p.ProfileInfo.Company.Phone = ((TextBox)CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl("txbContactPhone")).Text;
    p.ProfileInfo.Company.Fax = ((TextBox)CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl("txbContactFax")).Text;
    p.ProfileInfo.Preferences.Newsletter = ((DropDownList)CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl("ddlNewsletter")).SelectedValue;

    // Save profile - must be done since we explicitly created it
    p.Save();

}

このビルドと実行は問題ありませんが、次の行は常に null を返します。

wProfile p = wProfile.GetProfile(Membership.GetUser().UserName);

何が悪いのかわからない?このリンクの下部にある例も試しましたが、成功しませんでした

編集:

私は多くのリンクを読み、いくつかの解決策を試しましたが、私の専門知識はこの分野ではあまり優れていません. 私はそれを実行するための構文について少し助けを求めていると思います. できれば賞金を提供するでしょう.

編集: これを WAP に変換する試みの現在の状態を添付すると役立つ場合があります。 http://www.mediafire.com/?ouabeoxwu75b52c

4

4 に答える 4

1

私はあなたの解決策とすべてのコメントを調べました。私にとっては、小さなことが 1 つあるだけで、すべてが良さそうに見えます。inheritsweb.config のプロファイル要素が属性を使用していないことに気付きました( http://msdn.microsoft.com/en-us/library/ms164644(v=vs.85).aspx )。以下のように、特定の例では、ProfileBase抽象クラスから派生したカスタム型の型参照である値を使用して、そのような属性を追加してみてください。wProfile

<profile defaultProvider="MyCMSTableProfileProvider" 
         automaticSaveEnabled="false" 
         enabled="true" 
         inherits="myWSAT.controls.wProfile">

この変更後に何かが壊れる場合は、カスタム プロバイダーにそれぞれ変更を加えます。さらに、あなたが興味を持っているかもしれない同様のスレッドを見つけました: How to assign Profile values?

于 2013-09-03T18:34:41.270 に答える
0

完全を期すために、誰かが同様の問題に遭遇した場合は、サンプル Web サイトを Web アプリケーション プロジェクトに変換するために行った正確な手順を以下に示します。

1) このウォークスルーをメインの変換に使用します。ここでの重要な点は、.dll のみを新しいプロジェクトの bin フォルダーにコピーし、次に App_Code フォルダーを最初にコピーして Web アプリケーションに変換してから、他のページやフォルダーを追加することです。

2) プロジェクトが Web アプリに変換されると、一部の名前空間、クラス、および型名が正しく更新されないか、プロジェクトの名前に基づいて異なる可能性があります。通常、コード ビハインドは正しく更新されますが、Web.Config TypeNames は更新されません。私が遭遇した主なものはtheme classessp_cpanelTableAdaptersで、約 20 の型名を変更する必要がありました。

class admin_themes_default_defaultclass admin_themes_dark_default

TypeName="sp_cpanelTableAdapters.admin_HintsTableAdapter"TypeName="myWSAT_WAP.xsd.sp_cpanelTableAdapters.admin_HintsTableAdapter"

3) 以下は、この Web アプリケーションで動作するプロファイルを取得するためのコードを示しています。ユーザー コントロールの profileCommon の置換コードのみを示しました。membership-info.ascxこのコードは、他のすべてのユーザー コントロールで実質的に同じであるため、繰り返しません。Jaroslaw Waliszko の回答に基づいて、Web.Configinherits="myWSAT_WAP.controls.wProfile"にカスタム プロバイダーではなく標準プロファイル プロバイダーが含まれ、使用されるようになったことに注意してください。

//ProfileInfo.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

Namespace myWSAT_WAP.Controls
{
    [Serializable]
    public class Personal
    {
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public string Gender { get; set; }
        public DateTime BirthDate { get; set; }
        public string Occupation { get; set; }
        public string Website { get; set; }
    }

    [Serializable]
    public class Address
    {
        public string Country { get; set; }
        public string Address1 { get; set; }
        public string AptNumber { get; set; }
        public string City { get; set; }
        public string State { get; set; }
        public string PostalCode { get; set; }
    }

    [Serializable]
    public class Contacts
    {
        public string DayPhone { get; set; }
        public string DayPhoneExt { get; set; }
        public string EveningPhone { get; set; }
        public string EveningPhoneExt { get; set; }
        public string CellPhone { get; set; }
        public string Fax { get; set; }

    }

    [Serializable]
    public class Company
    {
        public string CompanyName { get; set; }
        public string Address { get; set; }
        public string City { get; set; }
        public string State { get; set; }
        public string PostalCode { get; set; }
        public string Phone { get; set; }
        public string Fax { get; set; }
        public string Website { get; set; }

    }

    [Serializable]
    public class Preferences
    {
        public string Culture { get; set; }
        public string Newsletter { get; set; }

    }

    [Serializable]
    public class ProfileInfo
    {
        public Personal Personal { get; set; }
        public Address Address { get; set; }
        public Contacts Contacts { get; set; }
        public Company Company { get; set; }
        public Preferences Preferences { get; set; }
    }
}


//wProfile.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.Profile;

Namespace myWSAT_WAP.Controls
{
    public class wProfile : ProfileBase
    {
        public ProfileInfo ProfileInfo
        {
            get { return (ProfileInfo)GetPropertyValue("ProfileInfo"); }
        }

        public static wProfile GetProfile()
        {
            return (wProfile)HttpContext.Current.Profile;
        }

        public static wProfile GetProfile(string userName)
        {
            return (wProfile)Create(userName);
        }
    }
}

//Web.config
    <profile defaultProvider="MyCMSSqlProfileProvider" automaticSaveEnabled="false" inherits="myWSAT_WAP.controls.wProfile">
      <providers>
        <clear/>
        <add name="MyCMSSqlProfileProvider" connectionStringName="dbMyCMSConnectionString" applicationName="MyCMS" type="System.Web.Profile.SqlProfileProvider"/>
      </providers>
      <properties>
        <group name="Personal">
          <add name="FirstName" type="String"/>
          <add name="LastName" type="String"/>
          <add name="Gender" type="String"/>
          <add name="BirthDate" type="DateTime"/>
          <add name="Occupation" type="String"/>
          <add name="Website" type="String"/>
        </group>
        <group name="Address">
          <add name="Country" type="String"/>
          <add name="Address" type="String"/>
          <add name="AptNumber" type="String"/>
          <add name="City" type="String"/>
          <add name="State" type="String"/>
          <add name="PostalCode" type="String"/>
        </group>
        <group name="Contacts">
          <add name="DayPhone" type="String"/>
          <add name="DayPhoneExt" type="String"/>
          <add name="EveningPhone" type="String"/>
          <add name="EveningPhoneExt" type="String"/>
          <add name="CellPhone" type="String"/>
          <add name="Fax" type="String"/>
        </group>
        <group name="Company">
          <add name="Company" type="String"/>
          <add name="Address" type="String"/>
          <add name="City" type="String"/>
          <add name="State" type="String"/>
          <add name="PostalCode" type="String"/>
          <add name="Phone" type="String"/>
          <add name="Fax" type="String"/>
          <add name="Website" type="String"/>
        </group>
        <group name="Preferences">
          <add name="Culture" type="String" defaultValue="en-US"/>
          <add name="Newsletter" type="String"/>
        </group>
      </properties>
    </profile>

//membership-info.ascx
    #region on page load get current profile

    protected void Page_Load(object sender, EventArgs e)
    {
        // Get Profile
        if (!Page.IsPostBack)
        {
            if (Page.User.Identity.IsAuthenticated)
            {
                // get country names from app_code folder
                // bind country names to the dropdown list
                ddlCountries.DataSource = CountryNames.CountryNames.GetCountries();
                ddlCountries.DataBind();

                // get state names from app_code folder
                // bind state names to the dropdown lists in address info and company info section
                ddlStates1.DataSource = UnitedStates.StateNames.GetStates();
                ddlStates1.DataBind();
                ddlStates2.DataSource = UnitedStates.StateNames.GetStates();
                ddlStates2.DataBind();

                // get the selected user's profile based on query string
                wProfile profile = wProfile.GetProfile();
                //profileCommon profile = Profile;

                // Subscriptions
                ddlNewsletter.SelectedValue = profile.GetProfileGroup("Preferences").GetPropertyValue("Newsletter").ToString();
                //ddlNewsletter.SelectedValue = profile.Preferences.Newsletter;

                // Personal Info
                txtFirstName.Text = profile.GetProfileGroup("Personal").GetPropertyValue("FirstName").ToString();
                txtLastName.Text = profile.GetProfileGroup("Personal").GetPropertyValue("LastName").ToString();
                ddlGenders.SelectedValue = profile.GetProfileGroup("Personal").GetPropertyValue("Gender").ToString();
                if ((DateTime)profile.GetProfileGroup("Personal").GetPropertyValue("BirthDate") != DateTime.MinValue)
                    txtBirthDate.Text = profile.GetProfileGroup("Personal").GetPropertyValue("BirthDate").ToString();
                ddlOccupations.SelectedValue = profile.GetProfileGroup("Personal").GetPropertyValue("Occupation").ToString();
                txtWebsite.Text = profile.GetProfileGroup("Personal").GetPropertyValue("Website").ToString();

                //txtFirstName.Text = profile.Personal.FirstName;
                //txtLastName.Text = profile.Personal.LastName;
                //ddlGenders.SelectedValue = profile.Personal.Gender;
                //if (profile.Personal.BirthDate != DateTime.MinValue)
                //    txtBirthDate.Text = profile.Personal.BirthDate.ToShortDateString();
                //ddlOccupations.SelectedValue = profile.Personal.Occupation;
                //txtWebsite.Text = profile.Personal.Website;

                // Address Info
                ddlCountries.SelectedValue = profile.GetProfileGroup("Address").GetPropertyValue("Country").ToString();
                txtAddress.Text = profile.GetProfileGroup("Address").GetPropertyValue("Address").ToString();
                txtAptNumber.Text = profile.GetProfileGroup("Address").GetPropertyValue("AptNumber").ToString();
                txtCity.Text = profile.GetProfileGroup("Address").GetPropertyValue("City").ToString();
                ddlStates1.SelectedValue = profile.GetProfileGroup("Address").GetPropertyValue("State").ToString();
                txtPostalCode.Text = profile.GetProfileGroup("Address").GetPropertyValue("PostalCode").ToString();

                //ddlCountries.SelectedValue = profile.Address.Country;
                //txtAddress.Text = profile.Address.Address;
                //txtAptNumber.Text = profile.Address.AptNumber;
                //txtCity.Text = profile.Address.City;
                //ddlStates1.SelectedValue = profile.Company.State;
                //txtPostalCode.Text = profile.Address.PostalCode;

                // Contact Info
                txtDayTimePhone.Text = profile.GetProfileGroup("Contacts").GetPropertyValue("DayPhone").ToString();
                txtDayTimePhoneExt.Text = profile.GetProfileGroup("Contacts").GetPropertyValue("DayPhoneExt").ToString();
                txtEveningPhone.Text = profile.GetProfileGroup("Contacts").GetPropertyValue("EveningPhone").ToString();
                txtEveningPhoneExt.Text = profile.GetProfileGroup("Contacts").GetPropertyValue("EveningPhoneExt").ToString();
                txtCellPhone.Text = profile.GetProfileGroup("Contacts").GetPropertyValue("CellPhone").ToString();
                txtHomeFax.Text = profile.GetProfileGroup("Contacts").GetPropertyValue("Fax").ToString();

                //txtDayTimePhone.Text = profile.Contacts.DayPhone;
                //txtDayTimePhoneExt.Text = profile.Contacts.DayPhoneExt;
                //txtEveningPhone.Text = profile.Contacts.EveningPhone;
                //txtEveningPhoneExt.Text = profile.Contacts.EveningPhoneExt;
                //txtCellPhone.Text = profile.Contacts.CellPhone;
                //txtHomeFax.Text = profile.Contacts.Fax;

                // Company Info
                txbCompanyName.Text = profile.GetProfileGroup("Company").GetPropertyValue("Company").ToString();
                txbCompanyAddress.Text = profile.GetProfileGroup("Company").GetPropertyValue("Address").ToString();
                txbCompanyCity.Text = profile.GetProfileGroup("Company").GetPropertyValue("City").ToString();
                ddlStates2.SelectedValue = profile.GetProfileGroup("Company").GetPropertyValue("State").ToString();
                txbCompanyZip.Text = profile.GetProfileGroup("Company").GetPropertyValue("PostalCode").ToString();
                txbCompanyPhone.Text = profile.GetProfileGroup("Company").GetPropertyValue("Phone").ToString();
                txbCompanyFax.Text = profile.GetProfileGroup("Company").GetPropertyValue("Fax").ToString();
                txbCompanyWebsite.Text = profile.GetProfileGroup("Company").GetPropertyValue("Website").ToString();

                //txbCompanyName.Text = profile.Company.Company;
                //txbCompanyAddress.Text = profile.Company.Address;
                //txbCompanyCity.Text = profile.Company.City;
                //ddlStates2.SelectedValue = profile.Company.State;
                //txbCompanyZip.Text = profile.Company.PostalCode;
                //txbCompanyPhone.Text = profile.Company.Phone;
                //txbCompanyFax.Text = profile.Company.Fax;
                //txbCompanyWebsite.Text = profile.Company.Website;

                // Subscriptions
                ddlNewsletter.SelectedValue = profile.GetProfileGroup("Preferences").GetPropertyValue("Newsletter").ToString();

                //ddlNewsletter.SelectedValue = profile.Preferences.Newsletter;
            }
        }
    }

    #endregion

    #region Update current Profile Sub

    public void SaveProfile()
    {
        if (Page.User.Identity.IsAuthenticated)
        {
            // get the selected user's profile
            wProfile profile = wProfile.GetProfile();
            //ProfileCommon profile = Profile;

            // Personal Info
            profile.GetProfileGroup("Personal").SetPropertyValue("FirstName", txtFirstName.Text);
            profile.GetProfileGroup("Personal").SetPropertyValue("LastName", txtLastName.Text);
            profile.GetProfileGroup("Personal").SetPropertyValue("Gender", ddlGenders.SelectedValue);
            if (txtBirthDate.Text.Trim().Length > 0)
                profile.GetProfileGroup("Personal").SetPropertyValue("BirthDate", DateTime.Parse(txtBirthDate.Text));
            profile.GetProfileGroup("Personal").SetPropertyValue("Occupation", ddlOccupations.SelectedValue);
            profile.GetProfileGroup("Personal").SetPropertyValue("Website", txtWebsite.Text);

            //profile.Personal.FirstName = txtFirstName.Text;
            //profile.Personal.LastName = txtLastName.Text;
            //profile.Personal.Gender = ddlGenders.SelectedValue;
            //if (txtBirthDate.Text.Trim().Length > 0)
            //    profile.Personal.BirthDate = DateTime.Parse(txtBirthDate.Text);
            //profile.Personal.Occupation = ddlOccupations.SelectedValue;
            //profile.Personal.Website = txtWebsite.Text;

            // Address Info
            profile.GetProfileGroup("Address").SetPropertyValue("Country", ddlCountries.SelectedValue);
            profile.GetProfileGroup("Address").SetPropertyValue("Address", txtAddress.Text);
            profile.GetProfileGroup("Address").SetPropertyValue("AptNumber", txtAptNumber.Text);
            profile.GetProfileGroup("Address").SetPropertyValue("City", txtCity.Text);
            profile.GetProfileGroup("Address").SetPropertyValue("State", ddlStates1.Text);
            profile.GetProfileGroup("Address").SetPropertyValue("PostalCode", txtPostalCode.Text);

            //profile.Address.Country = ddlCountries.SelectedValue;
            //profile.Address.Address = txtAddress.Text;
            //profile.Address.AptNumber = txtAptNumber.Text;
            //profile.Address.City = txtCity.Text;
            //profile.Address.State = ddlStates1.Text;
            //profile.Address.PostalCode = txtPostalCode.Text;

            // Contact Info
            profile.GetProfileGroup("Contacts").SetPropertyValue("DayPhone", txtDayTimePhone.Text);
            profile.GetProfileGroup("Contacts").SetPropertyValue("DayPhoneExt", txtDayTimePhoneExt.Text);
            profile.GetProfileGroup("Contacts").SetPropertyValue("EveningPhone", txtEveningPhone.Text);
            profile.GetProfileGroup("Contacts").SetPropertyValue("EveningPhoneExt", txtEveningPhoneExt.Text);
            profile.GetProfileGroup("Contacts").SetPropertyValue("CellPhone", txtCellPhone.Text);
            profile.GetProfileGroup("Contacts").SetPropertyValue("Fax", txtHomeFax.Text);

            //profile.Contacts.DayPhone = txtDayTimePhone.Text;
            //profile.Contacts.DayPhoneExt = txtDayTimePhoneExt.Text;
            //profile.Contacts.EveningPhone = txtEveningPhone.Text;
            //profile.Contacts.EveningPhoneExt = txtEveningPhoneExt.Text;
            //profile.Contacts.CellPhone = txtCellPhone.Text;
            //profile.Contacts.Fax = txtHomeFax.Text;

            // Company Info
            profile.GetProfileGroup("Company").SetPropertyValue("Company", txbCompanyName.Text);
            profile.GetProfileGroup("Company").SetPropertyValue("Address", txbCompanyAddress.Text);
            profile.GetProfileGroup("Company").SetPropertyValue("City", txbCompanyCity.Text);
            profile.GetProfileGroup("Company").SetPropertyValue("State", ddlStates2.SelectedValue);
            profile.GetProfileGroup("Company").SetPropertyValue("PostalCode", txbCompanyZip.Text);
            profile.GetProfileGroup("Company").SetPropertyValue("Phone", txbCompanyPhone.Text);
            profile.GetProfileGroup("Company").SetPropertyValue("Fax", txbCompanyFax.Text);
            profile.GetProfileGroup("Company").SetPropertyValue("Website", txbCompanyWebsite.Text);

            //profile.Company.Company = txbCompanyName.Text;
            //profile.Company.Address = txbCompanyAddress.Text;
            //profile.Company.City = txbCompanyCity.Text;
            //profile.Company.State = ddlStates2.SelectedValue;
            //profile.Company.PostalCode = txbCompanyZip.Text;
            //profile.Company.Phone = txbCompanyPhone.Text;
            //profile.Company.Fax = txbCompanyFax.Text;
            //profile.Company.Website = txbCompanyWebsite.Text;

            // Subscriptions
            profile.GetProfileGroup("Preferences").SetPropertyValue("Newsletter", ddlNewsletter.SelectedValue);

            //profile.Preferences.Newsletter = ddlNewsletter.SelectedValue;

            // this is what we will call from the button click
            // to save the user's profile
            profile.Save();
        }
    }

    #endregion
于 2013-09-04T07:47:20.543 に答える