البرنامج التعليمي لإدارة جلسات ASP.NET [مثال]

إدارة جلسات ASP.NET

بروتوكول HTTP الذي تعمل عليه جميع تطبيقات الويب هو بروتوكول عديم الحالة. بواسطة عديم الجنسية، فهذا يعني فقط أنه لا يتم الاحتفاظ بالمعلومات من طلب إلى آخر.

على سبيل المثال، إذا كانت لديك صفحة تسجيل دخول بها مربعان نصيان، أحدهما للاسم والآخر لكلمة المرور. عند النقر فوق زر تسجيل الدخول في تلك الصفحة، يحتاج التطبيق إلى التأكد من نقل اسم المستخدم وكلمة المرور إلى الصفحة التالية.

في ASP.Net، يتم ذلك بعدة طرق. الطريقة الأولى هي عبر مفهوم يسمى ViewState. هذا هو المكان الذي يقوم فيه ASP.Net تلقائيًا بتخزين محتويات جميع عناصر التحكم. كما يضمن أيضًا تمرير ذلك إلى الصفحة التالية. ويتم ذلك عبر خاصية تسمى ViewState.

ليس من المثالي أن يقوم المطور بتغيير أي شيء في حالة العرض. وذلك لأنه يجب التعامل معه بواسطة ASP.Net فقط.

كائن جلسة ASP.NET

والطريقة الأخرى هي استخدام كائن يسمى "كائن الجلسة". كائن الجلسة متاح طوال دورة حياة التطبيق. يمكنك تخزين أي عدد من أزواج القيمة الرئيسية في كائن الجلسة. لذلك، في أي صفحة، يمكنك تخزين قيمة في كائن الجلسة عبر سطر التعليمات البرمجية أدناه.

Session["Key"]=value

يقوم هذا بتخزين القيمة في كائن جلسة، ويُستخدم جزء "المفتاح" لإعطاء القيمة اسمًا. يتيح هذا استرجاع القيمة في وقت لاحق. لاسترجاع قيمة، يمكنك ببساطة إصدار العبارة التالية.

Session["Key"]

مثال على كائن جلسة ASP.NET

في مثالنا، سنستخدم كائن Session لتخزين الاسم المدخل في حقل مربع النص "الاسم" في الصفحة. ثم سنسترد هذه القيمة ونعرضها على الصفحة وفقًا لذلك. دعنا نضيف الكود أدناه إلى ملف Demo.aspx.cs.

استخدم كائن الجلسة

protected void btnSubmit_Click(object sender,EventArgs e)
{
	Session["Name"] = txtName.Text;

	Response.Write(Session["Name"]);

	lblName.Visible = false; 
	txtName.Visible = false; 
	1stLocation.Visible = false;
	chkC.Visible = false; 
	chkASP.Visible = false; 
	rdMale.Visible = false;
	rdFemale.Visible = false;
	btnSubmit.Visible = false;
}

شرح الكود :-

  1. يأخذ السطر الأول من التعليمات البرمجية قيمة عنصر التحكم في مربع النص "الاسم" ويخزنها في كائن "الجلسة". من خلال تحديد التعليمات البرمجية لـ Session[“Name”]، فإننا نعطي الخاصية اسمًا يسمى "الاسم". من خلال تحديد اسم للخاصية، يصبح من الأسهل استرجاعها في وقت لاحق.
  2. يسترد السطر التالي من التعليمات البرمجية القيمة المخزنة من كائن الجلسة. ثم يقوم بكتابة هذه القيمة عبر أسلوب "Response.Write" مرة أخرى إلى العميل.
  3. أخيرًا، نجعل جميع عناصر التحكم في النموذج غير مرئية. إذا لم نفعل ذلك، فسيتم عرض جميع عناصر التحكم بالإضافة إلى قيم الاستجابة لدينا معًا.

بمجرد إجراء التغييرات المذكورة أعلاه، سترى الناتج التالي

الإخراج:

استخدم كائن الجلسة

من الناتج، يمكنك أن ترى أن قيمة جلسة الاسم تم استردادها وعرضها في المتصفح.

الملخص

  • إدارة الجلسة هي وسيلة ASP.net لضمان نقل المعلومات من صفحة إلى أخرى.
  • يتم استخدام خاصية حالة العرض للصفحة لتمرير معلومات عناصر التحكم تلقائيًا من صفحة إلى أخرى.
  • يتم استخدام كائن "الجلسة" لتخزين واسترجاع قيم محددة داخل صفحة الويب.