كثيرا ما يطرح سؤال كيف يتم ترمير البرامترات من صفحة لأخرى.
اليوم وبالصدفة وجدت مقالة عن هذا الموضوع في الموقع الاكثر من رائع www.4GuysFromRolla.com
كاتيا الموضوع يفدمان فيه صفا يساعدة على تمرير البرامترات بين الصفحات بطريقة غرضية التوجه.
كثيرا ما يطرح سؤال كيف يتم ترمير البرامترات من صفحة لأخرى.
اليوم وبالصدفة وجدت مقالة عن هذا الموضوع في الموقع الاكثر من رائع www.4GuysFromRolla.com
كاتيا الموضوع يفدمان فيه صفا يساعدة على تمرير البرامترات بين الصفحات بطريقة غرضية التوجه.
وحدن بيبقو متل زهر البيلسان وحدهن بيقطفو وراق الزمان
بيسكرو الغابي بيضلهن متل الشتي يدقوا على بوابي على بوابي
يا زمان يا عشب داشر فوق هالحيطان ضويت ورد الليل عكتابي
برج الحمام مسور و عالي هج الحمام بقيت لحالي لحالي
يا ناطرين التلج ما عاد بدكن ترجعو صرخ عليهن بالشتي يا ديب بلكي بيسمعو
http://www.mazikana.com/Songs/F/Fayrouz/mp...uz---Wahdon.mp3
أيضا هناك طريقة ثانية وسهلة جدا شبيهة بطريقة ال Classic ASP و هي بحذف الخاصية runat من الوسم Form و تحديد الخصائص Method و Action كالتالي :
<form id="myForm" Action="secondPage.aspx" Method="Get"> .......... </form>
من خلال هذه الطريقة سوف تعتمد فقط على ال HTMLControls و تستطيع إستقبال القيم إما عن طريق Request.QueryString كما في المثال السابق أو عن طريق Request.Form لو كانت الخاصية Method من نوع Post.
You can fly while you can touch the sky
بسم الله الرحمن الرحيم
إضافة علي كلام الأستاذ DotNetExpert والأستاذ محمد خليل أبو صلاح
أيضا يوجد طريقة أخري (وهي مفضلة لي بصفه شخصية)
وهي إستخدام Server.Transfer
ولمزيد من المعلومات تابع المقال التالي :
Passing Values between ASP.NET Web Forms
والسلام عليكم

سورة العنكبوت
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
حلم طالما كان يراودني حتي قهرته بحمد الله ليكون حقيقة
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
سلسلة أنماط التصاميم البرمجية Desgin Patterns
سلسلة أنماط التصاميم البرمجية Desgin Patterns | كتيب هذه الدروس (إعداد أحمد غريب)
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
كنترول ASP.NET DataGrid CheckBoxColumn
مشروع الكنترول الأنيق (إهداء للفريق العربي)
الورش الإلكترونية IT Workshops
كنترول ColorPicker لمطوري الويب
شكرا لك على هذه المشاركة.
اعتقد أن المشكلة في server.transfer هي انها لا تحول المستخدم الى الصفحة الجديدة بل تقوم فقط بتنفيذ الصفحة الجديدة وارسال الناتج الى المستخدم ان في احقل العنوان لدى المستخدم سوف يبقى اسم الصفحة القديمة. على كل انا لست متاكد من هذا ولكنني الان لست على كمبيوتري لذلك لا استطيه التاكد.
وحدن بيبقو متل زهر البيلسان وحدهن بيقطفو وراق الزمان
بيسكرو الغابي بيضلهن متل الشتي يدقوا على بوابي على بوابي
يا زمان يا عشب داشر فوق هالحيطان ضويت ورد الليل عكتابي
برج الحمام مسور و عالي هج الحمام بقيت لحالي لحالي
يا ناطرين التلج ما عاد بدكن ترجعو صرخ عليهن بالشتي يا ديب بلكي بيسمعو
http://www.mazikana.com/Songs/F/Fayrouz/mp...uz---Wahdon.mp3
صحيح كلام DotNetExpert .. هي قريبة من فكرة ال Server.Execute و تقوم بتمرير الباريمترات لصفحة أخرى يتم تنفيذها ضمن نفس الصفحة ..
بتذكر أني قرات أن لها عيوب مما يجعلها غائبة عن الاستخدام المتداول لدى المبرمجين .. سوف ابحث عن السبب في كتاب عندي في الويكند لانو في مدينة اخرى:)
You can fly while you can touch the sky
اوكي لاقيت الكتاب عندي بالبيت ...
المكتوب هو التالي :
Server.Transfer تقوم بنقل جميع محتويات الصفحة سواء مخزنة في Session أو Application Object او Request collections التي وجدت في الصفحة الأولى للصفحة الثانية و الفرق بينها و بين ال Server.Execute أن الأولى لا تعيدنا للصفحة الأولى التي كنا فيها أما الثانية فتقوم بتضمين الصفحة و تنفيذ أكوادها ضمن الصفحة التي استدعت الصفحة الثانية عن طريق Server.Execute.
أيضا هناك فرق بين ال Server.Transfer و ال Response.Redirect و هو أن الثانية Redirect تقوم بتحويل المستخدم للصفحة الجديدة دون تنفيذ كامل الصفحة أما ال Server.Transfer فهي تقوم بنقل جميع محتويات الصفحة بعد تنفيذ كامل أكواد الصفحة ..
مثال توضيحي يوضح الفريق بين Server.Execute و Server.Transfer :
// Server.Execute :
// Page1.aspx
Response.Write("Line 1 Page1.aspx");
Server.Execute("page2.aspx");
Response.Write("Line 2 Page1.aspx");
// Page2.aspx
Response.Write("Line 1 Page2.aspx");
Response.Write("Line 2 Page2.aspx");
// المخرجات
Line 1 Page1.aspx
Line1 Page2.aspx
Line2 Page2.aspx
Line2 Page1.aspx
/////////////////////////////////////
//Server.Transfer :
// Page1.aspx
Response.Write("Line 1 Page1.aspx");
Server.Transfer("page2.aspx");
Response.Write("Line 2 Page1.aspx");
// Page2.aspx
Response.Write("Line 1 Page2.aspx");
Response.Write("Line 2 Page2.aspx");
// المخرجات
Line 1 Page1.aspx
Line1 Page2.aspx
Line2 Page2.aspxانتبهو في المثال ألأول أنه تم تنفيذ السطر الأول و عرضه ثم عرض محتويات الصفحة الثانية و بعدها عودة لإكمال الأكواد الموجودة تحت ال Server.Execute ..
حظا موفقا للجميع
تم تعديل هذه المشاركة بواسطة محمد خليل أبو صلاح في 19 مارس 2005 في 13:56
You can fly while you can touch the sky
بسم الله الرحمن الرحيم
مشكور أخي DotNetExpert وأبو خليل علي التعقيب
اقتباسبتذكر أني قرات أن لها عيوب مما يجعلها غائبة عن الاستخدام المتداول لدى المبرمجين
ولكن ما هو هذا العيب الذي تقصده فلم تواجهني مشكلة ما حتي الأن عند إستخدامي لهذه الطريقة
كما أحب أن أشير أنه يمكننا نقل البيانات بواسطة Server.Transfer
من خلال إستخدام Context كما يلي
page1.aspx
this.Context.Items.Add("var1", "arabteam2000");
this.Server.Transfer("page2.aspx");page2.aspx
string var = this.Context.Items["arabteam2000"].ToString();
والسلام عليكم

سورة العنكبوت
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
حلم طالما كان يراودني حتي قهرته بحمد الله ليكون حقيقة
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
سلسلة أنماط التصاميم البرمجية Desgin Patterns
سلسلة أنماط التصاميم البرمجية Desgin Patterns | كتيب هذه الدروس (إعداد أحمد غريب)
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
كنترول ASP.NET DataGrid CheckBoxColumn
مشروع الكنترول الأنيق (إهداء للفريق العربي)
الورش الإلكترونية IT Workshops
كنترول ColorPicker لمطوري الويب
أخي الحسين انا ما فهمت القصد من صفحة page2.aspx التي كتبتها .......
بخصوص قصة البعد عن استخدامها فهي في كتاب اخر سوف أرد بعد الويكندد إن شاء الله حتى يكون الكلام معتمدا على مرجع :)
You can fly while you can touch the sky
بسم الله الرحمن الرحيم
أولا أسف علي التأخير في الرد وذلك لإنشغالي التام هذه الأيام
اقتباسانا ما فهمت القصد من صفحة page2.aspx التي كتبتها
فهي إحدي الطرق المتبعة لتخزين البيانات في المصفوفة Context.Items
ثم نقوم بإرسالها إلي صفحة أخري من خلال Server.Transfer
ولكن يبدو أني أخطئت في كود الصفحة page2.aspx
التصحيح
string var1 = this.Context.Items["var1"].ToString();
والسلام عليكم

سورة العنكبوت
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
حلم طالما كان يراودني حتي قهرته بحمد الله ليكون حقيقة
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
سلسلة أنماط التصاميم البرمجية Desgin Patterns
سلسلة أنماط التصاميم البرمجية Desgin Patterns | كتيب هذه الدروس (إعداد أحمد غريب)
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
كنترول ASP.NET DataGrid CheckBoxColumn
مشروع الكنترول الأنيق (إهداء للفريق العربي)
الورش الإلكترونية IT Workshops
كنترول ColorPicker لمطوري الويب
هذا الموضوع مغلق.