آموزشگاه برنامه نویسی تحلیل داده
آموزشگاه برنامه نویسی تحلیل داده

آموزش شخصی سازی در ASP.NET

دوره های مرتبط با این مقاله

آموزش شخصی سازی / Personalization – ASP.NET

وب سایت ها باید ویژه ی بازدید مکرر کاربران تعبیه و طراحی شود. Personalization (شخصی سازی) به سایت این امکان را می دهد که هویت و دیگر جزئیات و اطلاعات مختص هر کاربر را بخاطره سپرده و نیز ویژه ی هر کاربر محیطی منحصر به فرد (کاملا فردی) ارائه دهد.


ASP.NET با ارائه ی قابلیت شخصی سازی این امکان را فراهم می آورد که وب سایت مطابق با میل و سلیقه ی کاربر تنظیم شود.


آشنایی با مفهوم profile

سرویس شخصی سازی (personalization) ASP.NET مبتنی بر user profile می باشد. user profile آن دسته از اطلاعات مربوط به کاربر که وب سایت به آن نیاز دارد را تعریف می کند. به عنوان مثال می توان به جزئیات اطلاعاتی همچون اسم، سال، آدرس، تاریخ تولد و شماره تلفن کاربر اشاره کرد.


اطلاعات ذکر شده در فایلی به نام web.config که متعلق به اپلیکیشن است تعریف می شود. ASP.NET runtime این اطلاعات را خوانده سپس مورد استفاده قرار می دهد.


عملیات نام برده توسط personalization provider ها انجام می گیرد.


User profile ها همان طور که انتظار می رود از داده های مربوط به کاربر (user data) برگرفته شده و در پایگاه داده ای که به صورت پیش فرض توسط ASP.NET ایجاد می شود، ذخیره می گردد. البته برنامه نویس می تواند در صورت تمایل پایگاه داده ی اختصاصی خود را جهت ذخیره سازی user profile ها ایجاد کند. تعریف داده های پروفایل در فایل پیکربندی به نام web.config ذخیره می گردد.


مثال:

ابتدا یک وب سایت آزمایشی می سازیم که قابلیت بخاطر سپردن و ذخیره سازی اطلاعات و جزئیات مربوط به کاربر همچون اسم، آدرس، تاریخ تولد و غیره .. را داشته باشد. جزئیات پروفایل را در فایل web.config داخل المان < system.web > اضافه کنید.


< configuration >
    < system.web >
      < profile >
        < properties >
          < add name="Name" type ="String"/ >
          < add name="Birthday" type ="System.DateTime"/ >
          < group name="Address" >
            < add name="Street"/ >
            < add name="City"/ >
            < add name="State"/ >
            < add name="Zipcode"/ >
          < /group >
        < /properties >
      < /profile >
    < /system.web >
< /configuration >
                        

پس از اینکه پروفایل مورد نظر در فایل web.config تعریف می شود، می توان به وسیله ی خاصیت Profile موجود در HttpContext جاری یا از طریق page به پروفایل دسترسی پیدا کرده و آن را مورد استفاده قرار داد.


حال یک کنترل textbox به منظور دریافت ورودی کاربر آنگونه که در پروفایل مربوطه تعریف شده و همچنین یک کنترل دکمه برای ارسال (submit) اطلاعات، به صفحه اضافه کنید.


Asp.Net
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
namespace Personalization
{
    public partial class WebForm1 : System.Web.UI.Page
protected void Page_Load(object sender, EventArgs e)
   {
      if (!this.IsPostBack)
      {
         ProfileCommon pc=this.Profile.GetProfile(Profile.UserName);
        
         if (pc != null)
         {
            this.txtname.Text = pc.Name;
            this.txtaddr.Text = pc.Address.Street;
            this.txtcity.Text = pc.Address.City;
            this.txtstate.Text = pc.Address.State;
            this.txtzip.Text = pc.Address.Zipcode;
            this.Calendar1.SelectedDate = pc.Birthday;
         }
      }
   }

}
                        

اکنون handler (اداره کننده) زیر را برای دکمه ی Submit نوشته تا اطلاعات کاربر داخل پروفایل مورد نظر ذخیره گردد:


protected void btnsubmit_click(object sender, eventargs e)
        {
            profilecommon pc = this.profile.getprofile(profile.username);
            if (pc != null)
            {
                pc.name = this.txtname.text;
                pc.address.street = this.txtaddr.text;
                pc.address.city = this.txtcity.text;
                pc.address.state = this.txtstate.text;
                pc.address.zipcode = this.txtzip.text;
                pc.birthday = this.calendar1.selecteddate;
                pc.save();
            }
        }
                        

پس از اجرای صفحه برای اولین بار، کاربر اطلاعات خود را وارد می کند، اما بار دگیری که کاربر مراجعه می کند، اطلاعات به صورت خودکار بار گذاری می شوند.


خصیصه های (attribute) المان < add >


جدا از خصیصه های name و type که پیش تر آن ها را در مثال های خود بکار بردیم، خصیصه های دیگری نیز وجود دارند که مختص المان < add > می باشد. جدول زیر برخی از این خصیصه ها را برای شما با ذکر شرح فهرست کرده:


خصیصه
شرح
name
اسم خاصیت (property) مورد نظر را تعریف می کند.
type
به صورت پیش فرض داده از نوع رشته ای (string) است، اما هر اسم کلاسی (class name) که کاملا تعریف شده باشد را به عنوان نوع داده (data type) می پذیرد.
serializeAs
قالب یا فرمتی که باید به هنگام سریال کردن این مقدار از آن استفاده شود.
readOnly
مقدار profile فقط خواندنی (read-only) قابل اصلاح نیست، به صورت پیش فرض این خاصیت false می باشد.
defaultValue
یک مقدار پیش فرض که در صورت عدم وجود پروفایل یا عدم وجود اطلاعات کاربر در آن، بکار می رود.
allowAnonymous
یک مقدار بولی که تعیین می کند آیا امکان استفاده از این خاصیت با پروفایل های ناشناس (anonymous profile) وجود دارد یا خیر.
Provider
ارائه دهنده ی پروفایلی (profile provider) که باید به منظور مدیریت تنها این خاصیت بکار گرفته شود.

شخصی سازی به صورت ناشناس (anonymous personalization)


به کاربر امکان می دهد که سایت را پیش از شناسایی خود شخصی سازی کند. برای مثال، Amazon.com به کاربر اجازه می دهد پیش از ثبت ورود (login) آیتم دلخواه را به سبد خرید اضافه کند. به منظور فعال سازی و استفاده از این امکان، لازم است فایل web.config را به ترتیب زیر پیکربندی و تنظیم کنید:


< anonymousIdentification enabled ="true" cookieName=".ASPXANONYMOUSUSER"
  cookieTimeout="120000" cookiePath="/" cookieRequiresSSL="false"
  cookieSlidingExpiration="true" cookieprotection="Encryption"
  coolieless="UseDeviceProfile"/ >
                        

  • 3189
  •    1026
  • تاریخ ارسال :   1394/07/27

دانلود PDF دانشجویان گرامی اگر این مطلب برای شما مفید بود لطفا ما را در GooglePlus محبوب کنید
رمز عبور: tahlildadeh.com یا www.tahlildadeh.com
ارسال دیدگاه نظرات کاربران
شماره موبایل دیدگاه
عنوان پست الکترونیک

ارسال

آموزشگاه برنامه نویسی تحلیل داده
آموزشگاه برنامه نویسی تحلیل داده

تمامی حقوق این سایت متعلق به آموزشگاه تحلیل داده می باشد .