close
دانلود فیلم
چگونه خطاهای نمایش داده شده در SharePoint را سفارشی کنیم

حتماً برای شما هم اتفاق افتاده که بخواهید از طریق 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

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