How To Get Other ASP.NET User Profile

.NET Framework , Posted at : Aug/04/2010  
2637 Views   0 Comments

Seperti yang telah diketahui sebelumnya bahwa mulai di ASP.NET 2.0 kita dapat menyimpan user data di object Profile. Profile dapat digunakan untuk menyimpan user preference setting atau data lainnya yang berhubungan dengan user tersebut seperti misalnya nama perusahaan dan lain-lain. Contoh yang akan dibuat kali ini yaitu bagaimana caranya mendapatkan data profile dari user tertentu yang telah disimpan dan melakukan update data profile tersebut. Apabila kita melakukan update data Profile seperti cara biasa dengan langsung memberikan nilai pada masing-masing properti profile tersebut maka data yang akan disimpan yaitu data profile untuk Current User, user yang sedang login ke web site tersebut.

Berikut langkah-langkahnya :

1). Buat Profile properties di web.config :

<system.web>

     <profile>
        <properties>
            <add name="CompanyName" type="System.String" allowAnonymous="false" />
            <add name="City" type="System.String" allowAnonymous="false" />
            <add name="Country" type="System.String" allowAnonymous="false" />
        </properties>
    </profile> 

2). Tambahkan Wizard control kedalam webform. Buat dua buah step wizard dengan step type yang pertama sebagai Start dan yang terakhir sebagai Finish. Design inputan pada masing-masing wizard step seperti pada gambar dibawah ini :

3). Tambahkan kode berikut ini yang digunakan untuk menampilkan asp.net role yang telah tersimpan,  menambahkan asp.net user secara programmatically dan sekaligus menambahkan profile untuk user baru tersebut.

    Private Sub LoadRoles()
        Dim allRoles() = Roles.GetAllRoles

        CheckBoxList1.DataSource = allRoles
        CheckBoxList1.DataBind()
    End Sub

    Protected Sub Page_Load() Handles Me.Load
        If Not IsPostBack Then LoadRoles()
    End Sub

    Protected Sub btnAddUser_Click() Handles btnAddUser.Click
        Dim strUserName = TextBox1.Text
        Dim strPassword = TextBox2.Text
        Dim strEmail = TextBox4.Text

        Dim getRoles = New List(Of String)

        For Each item As ListItem In CheckBoxList1.Items
            If item.Selected Then getRoles.Add(item.Text)
        Next

        'create new user and add the user to role(s) :
        Membership.CreateUser(strUserName, strPassword, strEmail)
        Roles.AddUserToRoles(strUserName, getRoles.ToArray)

        'get profile for new user which has been added before :
        Dim aProfile = Profile.GetProfile(strUserName)
        With aProfile
            .CompanyName = txtCompName.Text
            .City = txtCity.Text
            .Country = txtCountry.Text

            .Save()
        End With

        Wizard1.ActiveStepIndex = 1
    End Sub

Dari kode diatas dapat dilihat bahwa untuk mendapatkan nilai Profile dari user tertentu cukup dengan memanggil fungsi GetProfile dari object Profile yang mengembalikan ProfileCommon class dan setelah itu di Save. Berikut hasilnya :


 

Selamat mencoba :)


[Comments]

[Write your comment]
Name (required)
Email (required-will not published)
 
Comment

AUXE
Input code above below (Case Sensitive) :
About Me 
Rully Yulian MF
Rully Yulian Muhammad Firmansyah | Microsoft Certified Trainer | IT Trainer at Native Enterprise | IT Consultant | Software Developer | MCAD | MCPD | MOS | Bandung, West Java, Indonesia.
[Read More...]
Top Download 
Mapping Hak Akses User Pada MenuStrip Sampai Control Button : Downloaded 6083 times  
Bagaimana caranya menginstal database ketika deploying sebuah aplikasi? : Downloaded 4689 times  
Simple Voice Engine Application With Sound Player Class... : Downloaded 3554 times  
Change Group,Sort Order, Filtering By Date in Crystal Reports : Downloaded 3324 times  
WinForms DataGrid Paging With SqlDataAdapter : Downloaded 2706 times  
Links 
Certifications 
MOS 2007
MCT
MCPD
MCTS
MCAD.NET
ASP.NET Brainbench
Native Enterprise 
Follow Me 
Facebook   LinkedIn   Twitter
Syndication 
Hosted By 
Native Enterprise News 
© Copyright 2006-2016   Rully Yulian MF   All rights reserved.