تبلیغات شما تبلیغات شما

آمار سایت

    آمار مطالب
    کل مطالب : 3993
    آمار کاربران
    افراد آنلاین : 7

    کاربران آنلاین

    آمار بازدید
    بازدید امروز : 17,093
    باردید دیروز : 2,997
    گوگل امروز : 14
    گوگل دیروز : 29
    بازدید هفته : 17,093
    بازدید ماه : 70,530
    بازدید سال : 829,821
    بازدید کلی : 6,401,344

آخرین فروش های موفق

حتماً برای شما هم اتفاق افتاده که بخواهید از طریق Event Handler ها در شیرپوینت نحوه درج، به روزسانی و حذف اطلاعات در لیست ها را کنترل کنید و در نهایت با نمایش پیغامهایی به کاربر وی را از وضعیت اتفاق افتاده مطلع سازید.

در این پُست با یک مثال نحوه سفارشی کردن پیغام های مربوط به Event Handler ها را برای شما توضیح خواهم داد.



فرض کنید یک لیست شیرپوینت 2010 دارید و تصمیم دارید تا با نمایش پیامی، مانع حذف آیتم های لیست توسط کاربران سایت شوید. برای اینکار یک Event Hander در ویژوال استودیو ایجاد خواهید کرد که کد آن به صورت زیر خواهد بود :

1:  namespace SampleEventReceiver.EventReceiver1   
2:  {   
3:      public class EventReceiver1 : SPItemEventReceiver   
4:      {   
5:         public override void ItemDeleting(SPItemEventProperties properties)   
6:         {              
7:             base.ItemDeleting(properties);   
8:             properties.Status = SPEventReceiverStatus.CancelWithError;   
9:             properties.Cancel = true;  
10:         }  
11:      }  
12:  }

.csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; }

در کد فوق در خط 8، شما میتوانید توسط خصوصیت CancelWithError پیام خطای پیش فرض شرپوینت را هنگام حذف آیتم های لیست به کاربر نمایش دهید. (شکل زیر)

How to Use Custom Error Page in SharePoint 2010 Event Handlers

حال می توانید به جای نمایش خطای فوق که کاربر پسند هم نیست! کاربر را به صفحه ای منتقل و پیغام مناسبتری را به وی نمایش دهید. برای اینکار بر روی پروژه جاری در VS 2010 ، کلیک راست و سپس از منوی باز شده گزینه Add New Item را انتخاب کنید تا پنجره زیر باز شود :

از قسمت نوع پروژه ها، مورد Application Page را انتخاب و در قسمت Name یک نام به عنوان مثال CustomError.aspx برای صفحه مورد نظر وارد کنید.

How to Use Custom Error Page in SharePoint 2010 Event Handlers

در کد aspx مربوط به صفحه CustomError.aspx در Content با ID=Main هر پیغامی که تمایل دارید به کاربر نمایش داده شود را توسط تگهای HTML و ASP.NET طراحی و وارد کنید. و در نهایت تغییرات صفحه را ذخیره کنید.

من برای طرح این صفحه از یک متن و یک تصویر برای نمایش بهتر پیام به کاربر استفاده کردم. تصویر مورد نظرتان را هم میتوانید در پوشه Layouts از پروژه کپی کنید.بخش Solution Explorer شبیه شکل زیر خواهد شد :

How to Use Custom Error Page in SharePoint 2010 Event Handlers

حال صفحه مربوط به کد Event را باز و کد زیر را جهت انتقال کاربر به صفحه سفارشی وارد کنید :

1:  namespace SampleEventReceiver.EventReceiver1   
2:  {       
3:      public class EventReceiver1 : SPItemEventReceiver   
4:      {          
5:         public override void ItemDeleting(SPItemEventProperties properties)   
6:         {              
7:             base.ItemDeleting(properties);   
8:             properties.Status = SPEventReceiverStatus.CancelWithRedirectUrl;   
9:             properties.RedirectUrl = "/_layouts/SampleEventReceiver/CustomError.aspx";  
10:         }          
11:      }  
12:  }

.csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; }

در کد فوق در خط 8 از خصوصیت CancelWithRedirectUrl استفاده شده است و در خط 9 هم آدرس صفحه طراحی شده جهت نمایش به کاربر مشخص شده است.

با از اجرای پروژه، پس از حذف آیتم از لیست ، کاربر به صفحه CustomError.aspx منتقل و پیغام خطای سفارشی شما را به صورت زیر مشاهده خواهد کرد :

How to Use Custom Error Page in SharePoint 2010 Event Handlers

به نقل از pspcommunity

برچسب ها

مطالب پیشنهادی ما

دیدگاه های شما

ارسال نظر

نام
ایمیل (منتشر نمی‌شود) (لازم)
وبسایت
:) :( ;) :D ;)) :X :? :P :* =(( :O @};- :B /:) :S
نظر خصوصی
مشخصات شما ذخیره شود ؟ [حذف مشخصات] [شکلک ها]
کد امنیتیرفرش کد امنیتی

تبلیغات شما تبلیغات شما

دسترسی سریع

کدهای اختصاصی