عرض مشاركة واحدة
عضو نشيط جدا
تاريخ التسجيل: Sep 2006-
#1 (permalink)  
درس حول ال Query String لنقل البيانات بين الصفحات


اليوم سنقوم بدراسة الطريقة الثانية من طرق نقل البيانات من صفحة الى صفحة أخرى وهي طريقة query String
وهذه الطريقة تكون بتمرير معلومات باستخدام ال URL وهو العنوان الذي نقوم بكتابته في المتصفح للدخول على أي صفحة فمثلا للدخول على صفحة جوجل سيتم كتابة ال URL الخاص بها وهو Google

وتكثر استخدام هذه الطريقة في محركات البحث ومثال عليها
organic gardening - Google Search

ال querystring هو جزء من ال URL ويبدأ بعد علامة الإستفهام
ففي هذه الحالة تم تعريف متغير يسمى q ويحتوي على النص التالي organic + gardening
وهذه الطريقة أيضا تكون واضحة في مواقع التجارة الإلكترونية e-commerce مثل موقع الأمازون

ولكن نلاحظ أن المعلومات التي تمرر عبر ال query String تكون ظاهرة أمام الجميع لذلك لا يتوجب تمرير بيانات حساسة عبرها

خلينا الآن نقوم بعمل مثال لكي تتوضح الفكرة أكثر
1- نقوم بعمل صفحتين واحدة باسم QueryString والأخرى باسم QueryStringRecipient
2- الصفحة الأولى تكون محتوية على التالي listbox و label و checkbox و button
3- الصفحة الثانية ستكون محتوية على label
كما في الصورة التالية





4- يتم النقر على الزر الموجود في الصفحة الأولى نفرتين وكتابة الكود التالي

سي شارب C#
كود:
If   (  listbox1. SelectedIndex ==  -1 )
{
lblError.Text = “ You must select an item. “ ;
}
Else
{
String  url = “QueryStringRecipient.aspx? “;
url += “ Item= “ + listbox1.selectedItem.Text + “&”;
url += “ Mode = “ + checkbox1.checked.ToString() ;
Response.Redirect (url);
}

وهذا الكود معناه أن اذا لم يتم اختيار أي اختيار من ال listbox اعرض رسالة أنه يجب اختيار خيار واحد
أما اذا تم اختيار خيار يتم تعريف متغير وهو لتعريف ال url ويحتوي ال querystring على متغيرين
وهنا نلاحظ أننا في حال عرفنا أكثر من متغير يتم استخدام & للفصل بينهم
وآخر جملة هي لنقل المستخدم الى الصفحة الذي اسمها مخزن في المتغير url

ويتم كتابة الكود التالي في الصفحة الثانية في دالة ال Page-load
كود:

lblInfo.Text=”Item:” + Request.QueryString[“Item”];
ibiInfo.Text+=”<br/> Show Full Record: “ ;
lblInfo.Text += Request.QueryString[“Mode”];
وهنا يعني الكود أنه سيتم طباعة ال item الذي سيتم اختياره من خلال طلبه من ال url وأيضا قيمة ال mode


الفيجوال بيسك دوت نت
كود:

 في الصفحة الأولى
If     listbox1. SelectedIndex ==  -1  Then
lblError.Text = “ You must select an item. “ 
Else
String  url = “QueryStringRecipient.aspx? “
url += “ Item= “ & listbox1.selectedItem.Text + “&”
url += “ Mode = “ & checkbox1.checked.ToString() 
Response.Redirect (url)
End If

في الصفحة الثانية

lblInfo.Text=”Item:” & Request.QueryString[“Item”]
ibiInfo.Text+=”<br/> Show Full Record: “ 
lblInfo.Text += Request.QueryString[“Mode”]
وسيكون التنفيذ كالآتي



انتهى الدرس
أتمنى أن ينول اعجابكم وأتمنى لكم التوفيق

شكرا للأخت المبرمجة ايناس على هذه الدروس






__________________
Response.Write
(

م. خليل سليم

مطور مواقع ASP.NET

للتواصل : khalilme@hotmail.com

)
برمودا غير متواجد حالياً   قديم 24-09-2007, 09:56 AM
رد مع اقتباس