PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : مدیریت خطاهای ajax در asp.net



آبجی
14th February 2010, 02:12 AM
در فریمورک AJAX مایکروسافت به طور پیش فرض اگر خطایی رخ بده اون خطا با alert به کاربر نمایش داده میشه.
برای حل این مشکل می تونید کلاس EndRequestEventArgs رو ایمپلمنت کنید.
یک div مثلا با آی دی ErrorDisplay ایجاد کنید و visibility اون رو در ابتدا برابر با hidden تنظیم کن.
حالا دقیقا به همون شکلی که برای یک HttpHandler یا HttpModule روالی تعریف می کنید تا در BeginRequest و EndRequest فراخوانی بشن، MS AJAX هم این دو روال رو داره.
به نمونه ای که در ذیل نوشتم دقت کنید:
Sys.Application.add_load(onAppLoad);

function onAppLoad()
{
Sys.WebForms.PageRequestManager.getInstance().add_ endRequest(EndRequest);
Sys.WebForms.PageRequestManager.getInstance().add_ beginRequest(BeginRequest);
}

function BeginRequest(sender, args) {
if (document.getElementById(’ErrorDisplay’).style .visibility == “visible”)
document.getElementById(’ErrorDisplay’).style. visibility = “hidden”;
}

function EndRequest(sender, args) {
if (args.get_error() != undefined)
{
document.getElementById(’ErrorDisplay’).style. visibility = “visible”;
args.set_errorHandled(true);
}
}
خط ;(args.set_errorHandled(true در روال EndRequest خیلی مهم هست.
به پارامتر set_errorHandled حتما باید true رو پاس بدید تا بدین طریق به AJAX بفهمونید که خطا رو خودتون هندل کردید تا alert نمایش داده نشه.

استفاده از تمامی مطالب سایت تنها با ذکر منبع آن به نام سایت علمی نخبگان جوان و ذکر آدرس سایت مجاز است

استفاده از نام و برند نخبگان جوان به هر نحو توسط سایر سایت ها ممنوع بوده و پیگرد قانونی دارد