چگونه خطاهای نمایش داده شده در 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 پیام خطای پیش فرض شرپوینت را هنگام حذف آیتم های لیست به کاربر نمایش دهید. (شکل زیر)
حال می توانید به جای نمایش خطای فوق که کاربر پسند هم نیست! کاربر را به صفحه ای منتقل و پیغام مناسبتری را به وی نمایش دهید. برای اینکار بر روی پروژه جاری در VS 2010 ، کلیک راست و سپس از منوی باز شده گزینه Add New Item را انتخاب کنید تا پنجره زیر باز شود : از قسمت نوع پروژه ها، مورد Application Page را انتخاب و در قسمت Name یک نام به عنوان مثال CustomError.aspx برای صفحه مورد نظر وارد کنید.
در کد aspx مربوط به صفحه CustomError.aspx در Content با ID=Main هر پیغامی که تمایل دارید به کاربر نمایش داده شود را توسط تگهای HTML و ASP.NET طراحی و وارد کنید. و در نهایت تغییرات صفحه را ذخیره کنید. من برای طرح این صفحه از یک متن و یک تصویر برای نمایش بهتر پیام به کاربر استفاده کردم. تصویر مورد نظرتان را هم میتوانید در پوشه Layouts از پروژه کپی کنید.بخش Solution Explorer شبیه شکل زیر خواهد شد :
حال صفحه مربوط به کد 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 منتقل و پیغام خطای سفارشی شما را به صورت زیر مشاهده خواهد کرد :
به نقل از pspcommunity ![]() مرتبط با موضوع : جستجو در شیرپوینت (قسمت اول) [يكشنبه، 27 فروردين ماه ، 1391] SLAM چيست ؟ [چهارشنبه، 27 مهر ماه ، 1390] معرفی Microsoft Lync Server 2010 [چهارشنبه، 27 مهر ماه ، 1390] ویژگیهای مهمِ یک فارسی ساز و تقویم شمسی مناسب برای شیرپوینت [چهارشنبه، 27 مهر ماه ، 1390] انواع پارامترهای SharePoint Designer و نحوه استفاده از آنها در فیلتر کردن Data View ها [چهارشنبه، 27 مهر ماه ، 1390] پنج دلیل که شرپوینت می تواند در هزینه های شما صرفه جوئی کند - قسمت سوم [سه شنبه، 17 خرداد ماه ، 1390] پنج دلیل که شرپوینت می تواند در هزینه های شما صرفه جوئی کند - قسمت دوم [سه شنبه، 17 خرداد ماه ، 1390] پنج دلیل که شرپوینت می تواند در هزینه های شما صرفه جوئی کند - قسمت اول [سه شنبه، 17 خرداد ماه ، 1390] وب پارت نکته روز برای شیرپوینت 2010 [دوشنبه، 2 خرداد ماه ، 1390] بررسی کدهای نوشته شده شما برای شیرپوینت توسط ابزار آنالیزور مایکروسافت - MSOCAF [دوشنبه، 2 خرداد ماه ، 1390] |
آخرین مقالات
پربیننده ترین مقالات
مقالات تصادفی
امتیاز دهی به مطلب
تعداد آراء: 0 انتخاب ها
|
