هناك جانبان للتشفير من جانب العميل لـ ASP.NET:
البرنامج النصي من جانب العميل : يتم تشغيله في المتصفح ويقوم بدوره بتسريع تنفيذ الصفحة. على سبيل المثال، يمكن للتحقق من صحة البيانات من جانب العميل اكتشاف البيانات غير الصالحة وتنبيه المستخدم وفقًا لذلك دون إعادة النشر إلى الخادم.
رمز مصدر العميل : تشكل صفحة الويب ASP.NET رمز مصدر العميل هذا. على سبيل المثال، يحتوي كود مصدر HTML لصفحة ويب ASP.NET على العديد من المناطق المخفية ويمكنه إدخال كود لغة وصف Java تلقائيًا للحفاظ على معلومات مثل حالة العرض أو تنفيذ مهام أخرى للتأكد من أن صفحة الويب تعمل بشكل صحيح.
تسمح جميع عناصر التحكم في خادم ASP.NET بالتشفير سريع الاستجابة عبر لغة Java أو رسم لغة VBS. تستخدم بعض عناصر تحكم خادم ASP.NET البرامج النصية من جانب العميل للاستجابة لاحتياجات المستخدم دون إعادة النشر إلى الخادم. على سبيل المثال، ضوابط التحقق من صحة البيانات.
بالإضافة إلى هذه البرامج النصية، يحتوي عنصر التحكم بالزر على أسلوب OnClientClick المناسب الذي ينفذ البرنامج النصي للعميل عند النقر فوق الزر.
تحتوي عناصر تحكم HTML التقليدية للخادم على الأحداث التالية التي يمكنها تنفيذ البرامج النصية عند بدء البرامج النصية:
حدث | ملكية |
---|---|
com.onblur | يتم تشغيله عندما يفقد عنصر التحكم التركيز |
com.onfocus | يتم تشغيله عندما يكتسب عنصر التحكم التركيز |
عند النقر | تشغيل عند النقر فوق عنصر التحكم |
onchange | يتم تشغيله عندما تتغير قيمة التحكم |
عند الضغط على الزر لأسفل | يتم تشغيله عندما يضغط المستخدم على زر لوحة المفاتيح |
com.onkeypress | عندما يقوم المستخدم بالضغط على مفتاح أبجدي رقمي |
com.onkeyup | يتم تشغيله عندما يقوم المستخدم بتحرير المفتاح |
com.onmouseover | يتم تشغيله عندما يقوم المستخدم بتحريك مؤشر الماوس على واجهة التحكم |
onserverclick | عند النقر فوق واجهة التحكم، ابدأ تشغيل عنصر تحكم الحدث ServerClick |
لقد ناقشنا الكود المصدري للعميل أعلاه. عادةً ما تتم كتابة صفحات ويب ASP.NET في نوعين من الملفات:
ملف المحتوى أو ملف الموافقة (.aspx)
كود خلف الملفات
تحتوي ملفات المحتوى على علامات تحكم HTML أو ASP.NET ونص لتشكيل بنية الصفحة. يحتوي ملف الكود الخلفي على تعريفات التصنيف. في وقت التشغيل، يتم تحليل ملف المحتوى وتسليمه إلى فئة الصفحة.
تشكل فئة الصفحة هذه، جنبًا إلى جنب مع تعريفات الفئة في ملف الترميز والترميز الذي ينشئه النظام، معًا تشفير التنفيذ (التكامل). تقوم ترميزات التكامل هذه بمعالجة جميع بيانات إعادة النشر وإنشاء الاستجابات وإرسال الإجراءات إلى العميل.
خذ بعين الاعتبار هذه الصفحة البسيطة:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="clientside._Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title> Untitled Page </title> </head> <body> <form id="form1" runat="server"> <div> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Click" /> </div> <hr /> <h3> <asp:Label ID="Msg" runat="server" Text=""> </asp:Label> </h3> </form> </body></html>
عند تشغيل هذه الصفحة في متصفح، يعرض خيار عرض المصدر صفحة HTML ويرسلها إلى المتصفح عبر وقت تشغيل ASP.Net:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" > <head> <title> Untitled Page </title> </head> <body> <form name="form1" method="post" action="Default.aspx" id="form1"> <div> <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKMTU5MTA2ODYwOWRk31NudGDgvhhA7joJum9Qn5RxU2M=" /> </div> <div> <input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWAwKpjZj0DALs0bLrBgKM54rGBhHsyM61rraxE+KnBTCS8cd1QDJ/"/> </div> <div> <input name="TextBox1" type="text" id="TextBox1" /> <input type="submit" name="Button1" value="Click" id="Button1" /> </div> <hr /> <h3><span id="Msg"></span></h3> </form> </body></html>
إذا نظرت إلى الترميز بشكل صحيح، سترى أن أول علامتين <div> تحتويان على حقول مخفية لتخزين حالة العرض والبيانات الصالحة.