في بعض الأحيان نحتاج لإرسال قيم معينة أو بيانات يقوم المستخدم بإدخالها من صفحة إلى أخرى .
يمكنك استخدام طرق مثل Session وكذلك Cookies ولكن في هذا الموضوع سنشرح استخدام Query String
الصورة التالية توضح كيفية استخدام Query String
انظر إلى العنوان التالي الذي يحتوي على Query String وهي تتمثل
بعد علامة الاستفهام .
http://yourdomainname.com/defauld.aspx?variable1=value1&variable2=value2
على فرض انه لدينا TextBox بإسم "txtData" ونحن نريد ارسال قيمته إلى صفحة آخرى من خلال الكود البرمجي
, سوف نضع " button بإسم" btnGo " وعند الضغط عليه نكتب التالي :
private void btnGO_Click(object sender, System.EventArgs e)
{
Response.Redirect("Default2.aspx?Value=" +txtData.Text);
}
أو اذا أردت إرسال أكثر من قيمة بإستخدام Querystring
private void btnGO_Click(object sender, System.EventArgs e)
{
Response.Redirect("Default2.aspx?city=" +txtData.Text + "&country=" + txtcountry.Text);
}
والأن لإستقبال القيم التي تم إرسالها في صفحة آخرى , سوف نحتاج إلى Request.QueryString ويمكنك إستقبال القيم إما من خلال اسم المتغير أو من خلال Index .
private void Page_Load(object sender,System.EventArgs e)
{
txtCity.Text = Request.QueryString["city"];
txtCountry.Text = Request.QueryString["country"];
}
بإستخدام Index
private void Page_Load(object sender,System.EventArgs e)
{
txtCity.Text = Request.QueryString[0];
txtCountry.Text = Request.QueryString[1];
}
ملاحظة / لايمكن إرسال قيم كبيرة خلال Query String بسبب أن
تستقبل كمبية محدودة من البيانات , والقيم المرسلة تظهر من خلال شريط العنوان في
المتصفح . ويتم فقد القيمة عندما يتم اغلاق المتصفح أو ادخال عنوان جديد