تمرير القيم بين الصفحات في ASP.Net 2.0 :
في السابق كنا كمطورين نقوم باستخدام Server.Transfer أو Request.QueryString لتمرير القيم بين الصفحات ولكل من هذان الخياران مساوئه , فالأول يقوم بنقل البيانات خلاص الصفحات لكنه يتطلب طود إضافي لحفظ القيم الممرة في ViewState كما أنه لا يقوم بالتحويل الى الصفحة الثانية أكثر من أنه يقوم بتنفيذ الصفحة الثانية داخل الصفحة الأولى ويمكن ملاحظة ذلك بأن URL الصفحة الاولى لا يتغير , أما الخيار الثاني Request.QueryString فانه يقوم بنقل البيانات لكنه يقوم بعرض هذه البيانات على شريط الURL مما يتيح للمستخدم رؤية هذه القيم ومن ثم تغييرها اذا أراد !!!!! .
لذا وفرت ASP.Net 2.0 طريقة جديدة لنقل البيانات بين الصفحات .ويمكن تنفيذها في أربع خطوات بسيطة :
1-عند تعريف المكون الذي نريد بواسطته نقل البيانات (في الغالب زر) فقط ما علينا سوى أضافة
PostBackUrl = "SecondPage.aspx"
الى تعريف المكون داخل ال.aspx الخاص بالصفحة الأولى ولتكن FirstPage.aspx لتصبح بالشكل :
< asp:Button id = "Button1" runat = "server" PostBackUrl = "SecondPage.aspx" / >
2- في الصفحة الثانية ولتكن SecondPage.aspx نقوم باضافة تعريف الصفحة السابقة التي ستقوم بتمرير البيانات بالشكل :
< % @ previousPageType VirtualPath = "FirstPage.aspx" % >
3- قم بكتابة دالة أو خاصة ترجع القيمة المراد تمريرها الى الصفحة في الصفحة الاولى وستلاحظ لاحقاً أن هذه الدالة تستطيع مناداتها من خلال الصفحة الثانية .
public int getInt()
{
return 338;
}4- في الصفحة الثانية "SecondPage.cs " نقوم باستخدام المكون PreviousPage والذي يمثل الصفحة السابقة وبالتالي استخدام الدالة المرجعة للقيمة المرسلة .
int UserId = PreviousPage.getInt();