نظرة سريعة على مجريات يوم سوالف
الفائزون في المسابقة الأصغر لسوالف كاست

 

العودة   سوالف سوفت > قسم تطوير وبرمجة المواقع للمتقدمين > ASP و ASP.NET
المدوّنات البحث مشاركات اليوم اجعل كافة المشاركات مقروءة

رد
 
LinkBack أدوات الموضوع
عضو نشيط جدا
تاريخ التسجيل: Sep 2006-
#1 (permalink)  
درس عن Cross-page posting


السلام عليكم

في الدرس السابق قمت بشرح مفهوم ViewState وهي تحتفظ فقط ببيانات الصفحة الحالية

ولكن اذا أردت أن أستخدم قيم الصفحة الحالية في الصفحة التي تليها ...كيف سيتم ذلك

هذا هو درسنا اليوم وهناك عدة طرق لذلك

الطريقة الأولى تسمى Cross-Page Posting
وهي طريقة جديدة وضعت في ال ASP.Net 0.2 وهي تستخدم مع الكونترولز التي تحتوي على الواجهة IButton مثل ( Button, LinkButton , ImageButton )

ونقوم بعمل المثال التالي لتوضيح الفكرة
1- يتم انشاء صفحتين
الصفحة الأولى تتكون من 2 Label و 2 textbox وbutton وتكون اسم الصفحة Page1.aspx
والصفحة الثانية تتكون من Label وتكون اسم الصفحة Page2.aspx كما في الصور الآتية




ونعطي الخاصية PostBackUrl للزر Enter الموجود في الصفحة الأولى اسم الصفحة الثانية وهنا ستكون القيمة page2.aspx كما في الصورة التالية :



ويتم كتابة كود في Page2 باانقر على الصفحة في أي مكان فارغ نقرتين بالماوس فيتم ظهور صفحة الكود فيتم كتابة الكود التالي في حدث ال Page-load



C#
كود:
If (PreviousPage != null)
{
Label.Text = “You came from a page titled “ + PreviousPage.Header.Title;
}

ولأنني أحب الفيجوال بيسك دوت نت لن أضع اختاصره بل سأكتب كامل حروفه

Visual Basic.net
كود:
If  PreviousPage IsNot  Nothing  then
Label.Text =  “You came from a page titled “ & PreviousPage.Header.Title
End If
والكود السابق يعني أن في حال لم تكن الصفحة السابقة فارغة اطبع لي عنوانها
واذا أردنا أن نستخدم ما كتب في التكست الأول والثاني من الصفحة الأولى الى الصفحة الثانية يتم كتابة الكود التالي
في الصفحة Page1.aspx
بلغة السي شارب C#
عمل property وهي عبارة عن دالة تستخدم لإحضار واعطاء قيم للمتغيرات الprivate
وهنا سنستخدمها لأحضار قيم التكست الأول والثاني من الصفحة الأولى Page1


C#
كود:
Public    string   GetFullName
{
Get  {   return   FirstNameTextbox.Text  +  “   “ +  LastNameTextbox.Text  ;    }
}
وكتابة الكود التالي في الصفحة الثانية  في دالة الPage-load 
If  ( PreviousPage != null )
{

Page1  prePage = PreviousPage  as  Page1  ;
If  ( prePage  !=  null )
{
Label.Text  =  “ You Typed in this “ +  prePage.GetFullName   ;
}
}

Visual Basic.net
كود:
يتم كتابة الكود الأتي في صفحة Page1 
Pubic   Function   GetFullName ()   AS   String
Return   FirstNameTextbox.Text   &  “   “  &  LastNameTextbox.Text
End   Function
ويتم كتابة الكود التالي في صفحة Page2 في دالة Page-load
If   PreviousPage   IsNot   Nothing   Then
Page1  prePage = PreviousPage  as  Page1  
If    prePage  IsNot   Nothing
Label.Text  =  “ You Typed in this “  &  prePage.GetFullName   
End If
End If
وهنا قمت بانشاء كائن object من الصفحة Page1 فهي عبارة عن كلاس ولكي أستطيع أن أستخدم الدالة التي فيها يجب أن أنشأ كائن منها


وستكون النتيجة كما في الصورة التالية






لاحظ أن الكلاس الخاص بالصفحة المطلوبة سيبقى في الذاكرة ولذلك لا يفضل الاكثار من الطريقة هادي

مع العلم أيضا يمكن اعادة قيادة الطريقة سيرفر . ترافسفر بوضع القيمة True بعد الفاصلة التي نلي العنوان كالتالي

كود:
Server.Transfer("index.htm",True)
]
تم الدرس

شكرا لكم






__________________
Response.Write
(

م. خليل سليم

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

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

)
برمودا غير متواجد حالياً   قديم 15-09-2007, 09:29 PM
رد مع اقتباس
عضو سوبر نشيط
تاريخ التسجيل: Mar 2000-
#2 (permalink)  

اقتباس:
If PreviousPage IsNot Nothing Then
Page1 prePage = PreviousPage as Page1
If prePage IsNot Nothing
Label.Text = “ You Typed in this “ & prePage.GetFullName
End If
End If
جزاك ةالله خير لكن هالكود ماضبط معي






__________________
قمت بإغلاق مواقعي
من يريد شراء نسخه من جده طرب مراسلتي
r.-f[@]hotmail.com
الثلج غير متواجد حالياً   قديم 19-09-2007, 08:39 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Sep 2006-
#3 (permalink)  

يتوجب عليك أن تضيف هذا السطر في الصفحة

<%@ PreviousPageType VirtualPath="~/AdminCP/A-m3rd.aspx" %>
وتستبدل اسم الصفحة بالصفحة السابقة






__________________
Response.Write
(

م. خليل سليم

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

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

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


أدوات الموضوع

تعليمات المشاركة
لا تستطيع كتابة مواضيع
لا تستطيع كتابة ردود
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة


المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
درس Sql-Injection + Cross Site Scripting EmiDes.Com PHP 10 12-09-2006 06:06 PM
(الدرس رقم 10) درس طريقة اخذ نسخة احتياطية للمنتدى توب لاين إصلاح وصيانة المنتديات 6 30-10-2005 05:26 AM
(الدرس رقم 9) درس شرح اهم تفاصيل موقعك في لوحة التحكم توب لاين تطوير الويب 6 28-10-2005 08:05 PM
css بتحالف مع javascript لحماية صور موقعك (كود) Zizwar تطوير الويب 45 23-08-2005 04:48 PM


الساعة الآن: 11:58 PM بتوقيت المملكة العربية السعودية