موصى به: كيفية تنفيذ جلسة مشاركة ASP و ASP.NET في .NET ، تختلف آلية التخزين للجلسة عن آلية ASP. على الرغم من أنه يمكن تشغيل ASP و ASPX في نفس الوقت تحت نفس IIS ، لا يمكن تمرير الجلسة بينهما. في السابق ، تم استخدام عدد كبير من الأنظمة في ASP. أثناء عملية الترقية ، إذا تم التخلي عن ASP تمامًا
باستخدام نفس الفكرة مثل إنشاء اتصال عالمي في وحدة نمطية منفصلة ، نقوم بإنشاء باجلي. تمكن Pagelet المطورين من إنشاء السيطرة الزائفة ، والتي يمكن استخدامها لعرض الخصائص والأساليب والأحداث وكذلك الكائنات. يتمثل حلنا في إنشاء Pagelet يعرض طريقة ConnectTodB ، والتي تُرجع كائن اتصال ADOCNECT (يختلف قليلاً عن بناء جملة ADO). نستخدم الكود التالي لإنشاء باجلي وحفظه على أنه connect.aspc (يشير الامتداد إلى أنه باجلي)<٪@ استيراد المساحة = system.data ٪>
<٪@ استيراد المساحة = system.data.ado ٪>
<لغة البرنامج النصي = vb runat = server>
الوظيفة العامة connectTodb () كما adoconnection
ConnectTodb = ADOCONNECTIONNECENECE (DSN = EVILDSN)
وظيفة نهاية
< /script>
ستلاحظ أننا قمنا باستيراد مساحين أسماء ، هما System.data و system.data.ado. مطلوب مساحات الأسماء هذه من أجل استخدام مزود مُدار ADO. لقد سألني الكثير من الأشخاص الكثير من الأسئلة حول هذا الموضوع ، لأن معظم الأمثلة تستخدم حاليًا مزود SQL المدير استنادًا إلى قاعدة بيانات Microsoft SQL Server 2000. بالنسبة لقواعد بيانات الخادم غير SQL ، يمكن لـ ASP استخدام مزود ASP المدير ADO ، وهو ما هو بنفس الطريقة التي تستخدمها حاليًا ADO في البرنامج. يشبه استيراد مساحات الأسماء إنشاء مراجع في برامج VB.
يتيح لي استخدام Pagelet الحفاظ على خطة موقعي الحالية ، وبمجرد إنشاء اتصال في الوحدة النمطية ، يمكننا إعادة استخدام الوحدة النمطية أينما احتجنا إليها. هذا يعني أننا نحتاج إلى استبدال توجيه الملف بتضمين مثيل من Pagelet ، ثم استدعاء طريقة ConnectToDB عندما نحتاج إلى اتصال قاعدة بيانات. في الصفحة التي تتطلب pagelet ، يجب علينا أولاً تسجيله مع الصفحة باستخدام توجيه ASP. في التوجيه ، نحدد TagPrefix و TagName و Source (SRC). على غرار ملف Include في ASP ، يجب استخدام TagPrefix و TagName حيث نضع باجلي.
<٪@ تسجيل tagPrefix = سبعة tagname = الاتصال
src = http: //www.alixixi.com/dev/web/asp/asp_1/2007/_includes/connect.aspc ٪>
تشبه طريقة وضع الحجم الذي قمنا بتسجيله للتو التحكم في خادم ASP:
<[tagprefix]: [tagname] id = mypagelet runat = server />
على سبيل المثال:
<Seven: Connect ID = Connect Runat = Server />
في ADO ، يتم استبدال مفهوم مجموعات السجلات بمجموعة من مجموعات البيانات ومشاهدات البيانات. سنناقش هذين المفهومين لاحقًا. أولاً ، دعنا نرى ما هي التغييرات التي حدثت بعد نقل صفحة الافتراضية. asp إلى default.aspx (لاحقة صفحة ASP). دعونا نلقي نظرة على default.asp أولاً:
<!-#include file = _includes/connect.inc->
<٪
dim cneville_db ، rsuproving ، strsqlupex
تعيين rsupcoming = server.createBject (adodb.recordset)
strsqluproving = حدد Top 2 & _
classes.title ، sessions.session_id ، & _
Sessions.special ، classes.description & _
من الفصول الداخلية جلسات الانضمام إلى & _
classes.class_id = sessions.classid & _
حيث (((Sessions.Date)> Date ())) و _
أمر من قبل الجلسات
rsupcoming.Open strsqlupext ، cneville_db
٪>
في ASP يصبح default.aspx:
<٪@ استيراد المساحة = system.data ٪>
<٪@ استيراد المساحة = system.data.ado ٪>
<٪@ تسجيل tagPrefix = Seven TagName = Connect & _
src = http: //www.alixixi.com/dev/web/asp/asp_1/2007/_includes/connect.aspc ٪>
<لغة البرنامج النصي = vb runat = server>
sub page_load (المصدر ككائن ، e كـ eventArgs)
قادم DISCUPS ASDODATASETCOMMAND
Dim dsuproving كمجموعة بيانات جديدة
قاتمة strsql كسلسلة
strsql = حدد Top 2 Classes.title ، & _
Sessions.session_id ، classes.description & _
من الفصول الداخلية جلسات الانضمام إلى & _
classes.class_id = sessions.classid & _
حيث (((Sessions.Date)> Date ())) و _
أمر من قبل الجلسات
dscupcoming = adodatasetCommand جديد (strsql ، connect.connecttodb ())
dscupcoming.filldataset (dsupcoming ، قادمة)
نهاية الفرعية
< /script>
جوهر الوصول إلى البيانات ، عبارات ANSI-SQL لا تحتوي على شيء بعد التحويل
مشاركة: مناقشة حول حالة التحكم وعرض حالة ASP.NET 2.0 حالة التحكم في المفاهيم الأساسية - لكي يعمل عنصر التحكم بشكل صحيح ، وأحيانًا تكون بيانات حالة التحكم مطلوبة. على سبيل المثال ، إذا قمت بكتابة عنصر تحكم مخصص مع علامات تبويب مختلفة توضح معلومات مختلفة ، لكي يعمل عنصر التحكم كما هو متوقع ، يجب أن يعرف التحكم أنه كان ذهابًا وإيابًا