كيفية عمل عناصر تحكم من مجموعة أدوات التحكم في AJAX في المشروع تم ترقيتها من VS2008 إلى VS2010

StackOverflow https://stackoverflow.com/questions/1959271

سؤال

كان لدي مشروع عمل في VS2008 / .NET 3.5 باستخدام عناصر التحكم من مجموعة أدوات التحكم AJAX (والتي تستهدف .NET 3.5).

لقد قمت بترقية المشروع في VS2010 Beta 2. اخترت Target .NET 4.0 حتى أتمكن من الاستفادة من التوجيه لأجهزة الويب (التي تعمل).

عندما يتم تحميل صفحة تحتوي على modalpopupextender ، فإنني أحصل على أخطاء ، "خطأ بناء الجملة" يشير إلى URI مثل:
{localhost} /webresource.axd؟d=-SR5KJ2YKK77NH8PDLSA2&t=633960551687981257.
ثم يتم تحميل الصفحة بشكل غير صحيح لأن ملفات JavaScript اللازمة فشلت في تحميلها.

لقد حاولت تنزيل مجموعة أدوات التحكم الجديدة من ajax.codeplex.com والرجوع إلى ajaxcontroltoolkit.dll داخل ، وقم بتخليص الملفات المؤقتة لـ Framework 2.0 و 4.0 ، لكنها لم تحدث فرقًا.

ثم قرأت هذا المشنور حول مزيد من تصحيح الخطأ. عندما قمت بفك تشفير الطلبات إلى webresource.axd ، أظهروا مسارات تشبه ياي:

  • s | webforms.js
  • Zsystem.Web ، 4.0.0.0 ، ، b03f5f7f11d50a3a | webuivalidation.js |

لذلك يبدو أن الإشارات المحددة للملفات قد تم بناؤها بشكل غير صحيح. يبدو أنه من غير المحتمل أن يكون لدى أي شخص أي فكرة عما يجب فعله حيال ذلك ، ولكن ما هيك ...

هل كانت مفيدة؟

المحلول

يضيف
Routetable.Routes.ignore ("*.js") ؛
للتسجيل في global.ascx.cs

نصائح أخرى

يمكنك تنزيل المصدر من CodePlex وإعادة بنائه لـ .NET 4.0 عبر VS 2010 ، لكنني لا أعتقد أنه سيعمل الكثير من المساعدة.

إذا كنت ترغب في استخدام التوجيه الذي يعد جزءًا من .NET 3.5 (مع SP1) ، فإن ما عليك فعله هو أن يتم توجيه معالجات *.

فيما يلي رمز C# لتحقيق ذلك

RouteTable.Routes.Add(new Route("{resource}.axd/{*pathInfo}", new StopRoutingHandler()));

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top