الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

نقل داتا من صفحة لأخرى

بدأه web.pro في 24 يوليو 2008 · 11 رد · 1,432 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

لدي صفحة تحتوي على داتا غريد وتحتوي الداتا غريد على عمود من ال checkbox

يقوم المستخدم باختيار الاسطر عن طريق ال check

اريد ان انقل الاسطر المختارة الى datagride اخرى في صفحة اخرى

ارجو المساعدة ضروري

#2

الموضوع ليس بهذه البساطة

عليك أن ترسل إلى الصفحة الأخرى أرقام الأسطر مثلا IDs في قاعدة البيانات

ثم تقوم عند Page Load في الصفحة الجديدة بتحميل المعلومات من قاعدة البيانات وعرضها في الـ grid الموجود في الصفحة !

في حال أردت أي تفصيل الرجاء السؤال عنه بالضبط

MAAAAAAAAAAAAAAAAAAAAAAAC

#3

شكرا لك

اريد الطريقة التي ارسل فيها الIDS الى الصفحة الأخرى

#4

ارجو الرد

محتاج كتير للاجابة

#5

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

بداية هل عدد الأسطر التي ستعرض في الصفحة التالية كبير أم صغير تقريباً لأن بعض الطرق قد لا تكون عملية في حال كان العدد كبيراً

MAAAAAAAAAAAAAAAAAAAAAAAC

#6

if (Request.QueryString["id"] != null)

{

try

{

//There is ID and We will work as edit

int ID = int.Parse(Request.QueryString["id"]);

DataTable DT = DA.GetAccount(ID);

if (DT.Rows.Count > 0)

{

txtAccount.Text = DT.Rows[0]["Account"].ToString();

txtEmail.Text = DT.Rows[0]["Email"].ToString();

txtPassword.Text = DT.Rows[0]["Password"].ToString();

txtPassword.TextMode = TextBoxMode.SingleLine;

ddlAge.SelectedValue = DT.Rows[0]["age"].ToString();

ddlCountry.SelectedValue = DT.Rows[0]["countryid"].ToString();

cbActive.Checked = Convert.ToBoolean(DT.Rows[0]["active"]);

btnAdd.Text = "Save";

}

else

Response.Redirect("ViewDeleteAccount.aspx");

}

catch

{

Response.Redirect("ViewDeleteAccount.aspx");

}

}

#7
اقتباس
عدد الأسطر التي ستعرض في الصفحة التالية كبير أم صغير تقريباً

تقريبا 3 اسطر

شكرا لك يا اخ silmiسأجرب الكود وارد لك

#8

يجب أن تستخدم هذه الطريقة التي وضعها الأخ silmi ولكن تكررها من أجل كل id تمرره للصفحة ويكون مثلا شكل الرابط (على اعتبار العدد قليل)

http://mypage.aspx?id1=value1&id2=value2

وتقرأ القيم بالطريقة التي وضعها الأخ

MAAAAAAAAAAAAAAAAAAAAAAAC

#9

طيب في حال كان العدد كبير وغير معلوم

#11

السلام عليكم

في الزر الذي يقوم بتحويلك الى الصفحه الثانيه استخدم PostBackUrl

<asp:Button ID="Button1" runat="server" Text="Go"  PostBackUrl="~/Default.aspx" />

الان في الصفحه الثانيه نقوم بكتابه الكود التالي

 if (PreviousPage!=null)
		{

GridView gv = (GridView)PreviousPage.FindControl("GridView2");
 for (int i = 0; i <= gv.Items.Count - 1; i++)
			{

				CheckBox ch = (CheckBox)gv.Items.FindControl("CheckBox1");
				if (ch.Checked)
				{
					ListBox1.Items.Add(gv.Items.ItemIndex.ToString());

				}

   }

}
abdullahf4.jpg
#12

حياكم الله إخوتي ... ولكني أعرف أن Cross Page posting له محاذير من ناحية Performance ... إذ أنه يقوم بعمل تحميل للصفحة السابقة بالإضافة للحالية .. وكذا طريقة PreviousPage.FindControl أبطأ (Late Binding) فالبديل الأفضل في هذه الحالة عمل Property في الصفحة يعيد الجريد بدلاً من البحث عنها ..

المهم رأيي الشخصي أنه يضيف كود في حدث الزر يكون لست كاملة من ID المحددة والمؤشرة في الجريد .. ويضيفها مثلاً إلى Session .. ثم ينتقل للصفحة الأخرى Response.Redirect ... وهناك يأخد القيم المخزنة في Session من قبل ويتعامل معها ...

ASP.NET Team Leader

moh_kin_mah@hotmail.com

--------------------------------

لو أعجبك أي من مشاركاتي ... برجاء قم بتقييم المشاركة عبر الأزرار الموجودة أسفل يسار كل مشاركة

مواضيع مشابهة